簡體   English   中英

ora-00917 在插入語句中缺少逗號

[英]ora-00917 missing comma in insert statement

Dim sql As String = "INSERT INTO service VALUES ( '', '" & ComboBox1.Text & "', '" & ListBox1.Text & "', '" & ListBox2.Text & "',  '" & ListBox3.Text & "', '" & ComboBox2.Text & "', '" & ListBox6.Text & "', '" & ListBox5.Text & "', '" & ListBox4.Text & "', TO_DATE('" & DateTimePicker1.Text & "', 'dd-MM-YYYY')"

缺少逗號請幫幫我!!

看起來您在TO_DATE()調用后缺少TO_DATE()括號,這導致您的代碼認為您的 INSERT 語句中有一個額外的參數:

... TO_DATE('" & DateTimePicker1.Text & "', 'dd-MM-YYYY'))"

參數化,而不是串聯

您確實應該使用參數來避免此類問題(除了它們為您提供防止 SQL 注入等骯臟行為的保護之外。這可能看起來像的示例如下所示:

' Build your connection '
Using connection As New OracleConnection("{your-connection-string}")
     ' Build your query (using parameters) '
     Dim query = Dim sql As String = "INSERT INTO service VALUES ('', @combo1, @list1, @list2, @list3, @combo2, @list6, @list5, @list4, @date)"

     ' Build a command to execute '
     Using command As New OracleCommand(query, connection)
         ' Open your connection '
         connection.Open()
         ' Add your parameters '
         command.Parameters.AddWithValue("@combo1",ComboBox1.Text)
         command.Parameters.AddWithValue("@list1",ListBox1.Text)
         ' More omitted for brevity '
         command.Parameters.AddWithValue("@date", DateTime.ParseExact(DateTimePicker1.Text,"dd-MM-yyyy", Nothing))

         ' Execute your command '
         command.ExecuteNonQuery()
     End Using
End Using

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM