2014-07-16 36 views
0

我有一個問題,並想知道如果有人可以幫助.. 我已經創建了一個在VB網程序。當我按下一個按鈕,然後它應該插入我的sql數據庫中的「日期」列當前的日期和時間。我爲此使用如下代碼:不能插入日期時間在視覺基本

query1 = "insert into visit(visit,textfile,p_id) VALUES('" & Date.Today & "','" & s & "',(select patient.p_id from patient where (patient.name=('" & ComboBox1.Text & " '))))" 

那麼它的工作,但是當我在列的數據庫中查閱「參觀」只顯示零。

任何想法?

+0

您正在使用什麼數據庫的任何問題? – Steve

+2

您應該使用SQL參數而不是字符串連接來建立您的查詢。 – mason

回答

2

使用參數化查詢(此示例適用於Sql Server)。通過這種方式,您不必擔心如何引用日期,字符串或數據庫所需的正確小數分隔符。
而且你避免與Sql Injection attacks

query1 = "insert into visit(visit,textfile,p_id) VALUES(@p1, @p2, " & _ 
      "(select patient.p_id from patient where [email protected])" 

Dim cmd As MySqlCommand = new MySqlCommand(query1, connection) 
cmd.Parameters.AddWithValue("@p1", Date.Today) 
cmd.Parameters.AddWithValue("@p2", s) 
cmd.Parameters.AddWithValue("@p3", ComboBox1.Text) 
cmd.ExecuteNonQuery() 
+0

我已經試過這個,但我給出了錯誤的SQL命令...我必須導入任何東西? –

+0

你能告訴我什麼是錯誤信息? – Steve

+0

它說:operator =未定義類型'mysqldata.mysqlclient.mysqlcommand和mysql.data.mysqlclient.mysqlcommand –