0
我一直在这个问题一个星期,搜索每个现有的论坛的答案也许这次我发布我自己的问题。INSERT INTO语句中的语法错误。在VB.net 2005
我的问题是保存数据库中的数据。我想将数据保存到访问数据库,以了解客户的图片和数据。
看来我的问题是在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()
当我填写结束时)值部分。我有错误“字段太小,无法接受您尝试添加的数据量,请尝试插入或粘贴更少的数据。”如何解决它。 – user3418046
您是否尝试将鼠标悬停在变量上以查看它有什么? – OneFineDay
我试图找到参数,但没有异常。每个参数都必须显示字符串。 – user3418046