INSERT INTO语句中的语法错误。在VB.net 2005中

时间:2014-03-14 01:25:11

标签: vb.net ms-access-2007

我这个问题持续了一个星期,并且每次搜索每个现有的论坛都有答案,这次我发布了自己的问题。

我的问题是在数据库中保存数据。我想将数据保存到关于客户图片和数据的访问数据库中。

看来我的问题出现在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()

1 个答案:

答案 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