我这个问题持续了一个星期,并且每次搜索每个现有的论坛都有答案,这次我发布了自己的问题。
我的问题是在数据库中保存数据。我想将数据保存到关于客户图片和数据的访问数据库中。
看来我的问题出现在INSERT INTO语句中,因为每次我尝试从文本框中保存数据时都会出现一个msgbox。最后,我是vb.net的新手。 请帮帮我。 我的编码如下。
Dim ms As New IO.MemoryStream
Me.PictureBox1.Image.Save(ms, Me.PictureBox1.Image.RawFormat)
Dim arrayImage() As Byte = ms.GetBuffer
ms.Close()
fdCon.ConnectionString = strConnectionString
sql = "INSERT INTO TBL_CUSTOMER([id_card],[cus_fname],[cus_lname],[age],[bd_date],[address],[phone],[e_mail],[date_reg],[MATE],[PIC])VALUES (@txtID,@txtFname,@txtLname,@txtAge,@bdDate,@txtAdd,@txtPhone,@txtEmail,@dmDateIN,@txtMate,@Picture"
'Set SQL OBJECT
objSql = New OleDbCommand(sql, fdCon)
Try
fdCon.Open()
With objSql
.Parameters.Add(New OleDbParameter("@Picture", SqlDbType.Image)).Value = arrayImage
.Parameters.AddWithValue("@txtID", txtID.Text)
.Parameters.AddWithValue("@txtFname", txtFname.Text)
.Parameters.AddWithValue("@txtLname", txtLname.Text)
.Parameters.AddWithValue("@txtAge", txtAge.Text)
.Parameters.AddWithValue("@bdDate", bdDate.Text)
.Parameters.AddWithValue("@txtAdd", txtAdd.Text)
.Parameters.AddWithValue("@txtPhone", txtPhone.Text)
.Parameters.AddWithValue("@txtEmail", txtEmail.Text)
.Parameters.AddWithValue("@dmDateIN", dmDateIN)
.Parameters.AddWithValue("@txtMate", txtMate.Text)
End With
'Execute DataReader
MyDataReader = objSql.ExecuteNonQuery
'Store Values in String Variables
'Close Connection
Catch ex As Exception
'TODO HANDLE EX
MessageBox.Show(ex.Message)
End Try
'DataGridView1.DataSource =
fdCon.Close()
答案 0 :(得分:1)
你没有结束。
Dim arrayImage() As Byte
Using ms As New IO.MemoryStream
Me.PictureBox1.Image.Save(ms, Me.PictureBox1.Image.RawFormat)
arrayImage = ms.ToArray()
End Using
sql = "INSERT INTO TBL_CUSTOMER([id_card],[cus_fname],[cus_lname],[age],[bd_date],[address],[phone],[e_mail],[date_reg],[MATE],[PIC]) VALUES
(@txtID,@txtFname,@txtLname,@txtAge,@bdDate,@txtAdd,@txtPhone,@txtEmail,@dmDateIN,@txtMate,@Picture)"
查看此article。