0

好的,所以每当我尝试将数据插入我的访问数据库时,它都无法正常工作......

错误说没有给出值......

这是我的代码

Imports System.IO
Imports System.Data.OleDb
Public Class halaman_daftar_anggota
Dim Conn As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim CMD As OleDbCommand

Dim LokasiDB As String
Sub Koneksi()
    LokasiDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=perpustakaan.accdb"
    Conn = New OleDbConnection(LokasiDB)
    If Conn.State = ConnectionState.Closed Then Conn.Open()
End Sub
Private Sub halaman_daftar_anggota_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Koneksi()
    da = New OleDbDataAdapter("Select * from data_anggota", Conn)
    ds = New DataSet
    ds.Clear()
    da.Fill(ds, "data_anggota")
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim dialog As OpenFileDialog = New OpenFileDialog()

    dialog.Title = "Browse Foto"
    dialog.Filter = "image files(*.png; *.bmp; *.jpg;*.jpeg; *.gif; |*.png; *.bmp; *.jpg;*.jpeg; *.gif;)"
    If dialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
        PictureBox1.Image = Image.FromFile(dialog.FileName)
    End If

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim simpan As String = "INSERT INTO data_anggota (nomor_induk,nama_siswa,kelas_siswa,nomor_anggota,foto) values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "',@image)"
    Dim ms As New IO.MemoryStream()
    PictureBox1.Image.Save(ms, Imaging.ImageFormat.Jpeg)
    Dim data As Byte() = ms.ToArray()
    Dim p As New OleDbParameter("@image", OleDbType.LongVarBinary)
    p.Value = data
    CMD = New OleDbCommand(simpan, Conn)
    CMD.ExecuteNonQuery() <- the error located
    MsgBox("Berhasil")
End Sub

我的猜测是图像不会插入。(照片是数据库中的 ole 对象)但考虑到我在这方面绝对是新手,所以我真的不能告诉....

4

0 回答 0