繁体   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