none
VB 2010 建立program中出現"insert into 陳述式的語法錯誤" RRS feed

  • 問題

  • 本人係用VB 2010 build up 一個program 用來 儲備資料的。

    那些資料是用 access database 2007 來儲存的。

    但是我preview program 測試一下的時候,當我完成輸入所有資料要save起來的時候,

    program 就出了一個pop up window 說:insert into 陳述式的語法錯誤

    我是在那個部份出錯呢?

    以下是我的programming code:

    //這是class declarations的

     Dim connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Project\Analysis Stars\Analysis Stars\House.mdb")
        Dim CMD As New OleDbCommand("Select * from House_Data", connection)
        Dim adapter1 As New OleDbDataAdapter(CMD)
        Dim DS As New DataSet()
        Dim d, k

    //這是from load時候的setting

    Private Sub Horse_data_entry_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            'TODO: This line of code loads data into the 'HouseDataSet.House_Data' table. You can move, or remove it, as needed.
            Me.House_DataTableAdapter.Fill(Me.HouseDataSet.House_Data)
            Dim Horse_data_entry As New Form
            Horse_data_entry.SetDesktopLocation(0, 0)
            connection.Open()
            MsgBox("Connection State: " & connection.State.ToString())
            adapter1.Fill(DS, "House_Data")
            lblIDShowing.Text = DS.Tables("House_Data").Rows(0).Item(0)
            lblNameShowing.Text = DS.Tables("House_Data").Rows(0).Item(1)
            lblAgeShowing.Text = DS.Tables("House_Data").Rows(0).Item(2)
            lblWeightShowing.Text = DS.Tables("House_Data").Rows(0).Item(3) & "Kg"
            lblBornShowing.Text = DS.Tables("House_Data").Rows(0).Item(4)
            BindingNavigatorCountItem.Text = " / " & DS.Tables("House_Data").Rows.Count
            IDTextBox.Text = " "
            House_NameTextBox.Text = " "
            AgeTextBox.Text = " "
            Body_WeightTextBox.Text = " "
            Place_of_BornTextBox.Text = " "
            IDTextBox.Focus()
        End Sub

    //這是儲存資料的

     Private Sub House_DataBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles House_DataBindingNavigatorSaveItem.Click
            Me.Validate()
            Me.House_DataBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.HouseDataSet)
            Dim CMD1 As New OleDbCommand("INSERT INTO House_Data VALUES(" & IDTextBox.Text & ",'" & House_NameTextBox.Text & "','" & AgeTextBox.Text & "','" & Body_WeightTextBox.Text & "','" & Place_of_BornTextBox.Text & "')", connection)
            Dim DA1 As New OleDbDataAdapter(CMD1)
            Dim DS1 As New DataSet("House_Data")

            Try
                CMD1.ExecuteNonQuery()
                DA1.Fill(DS1, "House_Data")
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
            MsgBox("Record Is Inserted")
            House_NameTextBox.Focus()
        End Sub

    請各位幫忙幫忙

     

    2010年9月16日 上午 09:35

解答

  • Hi,

    參考一下語法

    http://www.1keydata.com/tw/sql/sqlinsert.html


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年9月16日 上午 09:52
  • 1.  Insert Into 應該是 Insert Into 資料表 (欄位1, 欄位2, .....) VALUES (值1, 值2, .....)

    2. 請用參數式查詢來撰寫程式碼中的SQL Statement

    3. 關於ADO.NET請參考 [.NET Framework 開發人員手冊 ADO.NET ] [設定參數和參數資料型別 (ADO.NET) ]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年9月16日 上午 10:08
    版主
  • Hi!

    你的資料表欄位呢?

    INSERT INTO House_Data VALUES(" & IDTextBox.Text & ",'" & House_NameTextBox.Text & "','" & AgeTextBox.Text & "','" & Body_WeightTextBox.Text & "','" & Place_of_BornTextBox.Text & "')"

     Insert Into 資料表 (欄位1, 欄位2, .....) VALUES (值1, 值2, .....)


    歡迎參觀我的Blog.NET菜鳥自救會
    2010年9月16日 上午 10:58
    版主

所有回覆

  • Hi,

    參考一下語法

    http://www.1keydata.com/tw/sql/sqlinsert.html


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年9月16日 上午 09:52
  • hi,

    maybe check the values of "lblWeightShowing.Text" when update includes "Kg"

    2010年9月16日 上午 10:03
  • 1.  Insert Into 應該是 Insert Into 資料表 (欄位1, 欄位2, .....) VALUES (值1, 值2, .....)

    2. 請用參數式查詢來撰寫程式碼中的SQL Statement

    3. 關於ADO.NET請參考 [.NET Framework 開發人員手冊 ADO.NET ] [設定參數和參數資料型別 (ADO.NET) ]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年9月16日 上午 10:08
    版主
  • you mean lblWeightShowing.Text should convert into string ?
    2010年9月16日 上午 10:12
  • Hi!

    你的資料表欄位呢?

    INSERT INTO House_Data VALUES(" & IDTextBox.Text & ",'" & House_NameTextBox.Text & "','" & AgeTextBox.Text & "','" & Body_WeightTextBox.Text & "','" & Place_of_BornTextBox.Text & "')"

     Insert Into 資料表 (欄位1, 欄位2, .....) VALUES (值1, 值2, .....)


    歡迎參觀我的Blog.NET菜鳥自救會
    2010年9月16日 上午 10:58
    版主
  • Hi!

    你的資料表欄位呢?

    INSERT INTO House_Data VALUES(" & IDTextBox.Text & ",'" & House_NameTextBox.Text & "','" & AgeTextBox.Text & "','" & Body_WeightTextBox.Text & "','" & Place_of_BornTextBox.Text & "')"

     Insert Into 資料表 (欄位1, 欄位2, .....) VALUES (值1, 值2, .....)


    歡迎參觀我的Blog.NET菜鳥自救會


    那麼資料表欄位要如何輸入呢?

    我的意思是說用VB format!

    2010年9月16日 上午 11:01
  • Hi,

    附的連結有看嗎?

    您少的是NSERT INTO House_Data後的欄位

    比對連結教的Try看看

    應該沒有人資到你的資料欄位是啥...


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年9月16日 上午 11:22
  • 我是有看啦!

    我也知道缺了甚麼!

    不過我只不太知道怎樣轉成VB 程式碼!

    2010年9月16日 下午 12:33
  • Dim CMD1 As New OleDbCommand("INSERT INTO House_Data (ID, House_Name, Age, Body_Weight, Place_of_Born) VALUES(" & IDTextBox.Text & ",'" & House_NameTextBox.Text & "','" & AgeTextBox.Text & "','" & Body_WeightTextBox.Text & "','" & Place_of_BornTextBox.Text & "')", connection)
    
    
    Access的欄位名,總該知道吧,修改為正確的欄位名...
    2010年9月16日 下午 12:52
  • 我是有看啦!

    我也知道缺了甚麼!

    不過我只不太知道怎樣轉成VB 程式碼!


    這和VB程式碼關連不大, 這是SQL的語法, 你真的有想過你在看什麼嗎 ?
    2010年9月16日 下午 02:31
  • 我是有看啦!

    我也知道缺了甚麼!

    不過我只不太知道怎樣轉成VB 程式碼!


    這和VB程式碼關連不大, 這是SQL的語法, 你真的有想過你在看什麼嗎 ?


    你是說這句嗎?

    INSERT INTO Store_Information (store_name, Sales, Date)
    SELECT store_name, Sales, Date
    FROM Sales_Information
    WHERE Year(Date) = 1998

     

    2010年9月16日 下午 03:15