2011-09-08 35 views
-1

我已經嘗試了幾種類型的日期格式,但仍然無法正確使用。將日期值存儲到MySQL數據庫時出錯

以下是這已經writen

Dim serverDate As String = Format(Now(), "DD-MM-YYYY") 
strNew &= "INSERT INTO Staff (" 
      strNew &= "full_name" 
      strNew &= ", login_id" 
      strNew &= ", passwd" 
      strNew &= ", last_update" 
      strNew &= ") VALUES (" 
      strNew &= "'" & txt_Name.Text & "'" 
      strNew &= ", '" & txt_Login.Text & "'" 
      strNew &= ", '" & txt_Password.Text & "'" 
      strNew &= ", (STR_TO_DATE('" & serverDate & "', '%d-%m-%Y'))" 
      strNew &= ")" 

任何想法,如果我錯過了編碼..幫助是非常讚賞..

編輯#1: 忘了在錯誤添加消息
「不正確的日期時間值:‘DD-09-YYYY’的功能STR_TO_DATE」

+0

爲什麼我的問題已經被否決了?.. TT_____TT 我真的出來的想法如何解決這個問題那麼只有我將它張貼在這裏.. – BlurrieBlue

+0

你好,SQL注入攻擊 –

回答

0

您正在使用硬編碼 SQL字符串,所以你需要使用ÿ yyy-MM-dd格式日期。

Dim serverDate As String = DateTime.Now.ToString("yyyy-MM-dd") 

strNew &= "INSERT INTO Staff (" 
      strNew &= "full_name" 
      strNew &= ", login_id" 
      strNew &= ", passwd" 
      strNew &= ", last_update" 
      strNew &= ") VALUES (" 
      strNew &= "'" & txt_Name.Text & "'" 
      strNew &= ", '" & txt_Login.Text & "'" 
      strNew &= ", '" & txt_Password.Text & "'" 
      strNew &= ", '" & serverDate & "'" 
      strNew &= ") 

編輯:

@BlurrieBlue: 忘了在錯誤消息中添加 「不正確的日期時間值 : 'DD-09-YYYY' 的功能STR_TO_DATE」

是它是不正確的格式。它應該是

Format(Now(), "dd-MM-yyyy") 

看看這個代碼片斷

cmd=new MySqlCommand() 
cmd.Connection=cn 
cmd.CommandText="INSERT INTO Staff (?full_name,?login_id,?passwd,?last_update)" 
cmd.Parameters.Add("?full_name", MySql.Data.MySqlClient.MySqlDbType.VarChar).Value =txt_Name.Text 
cmd.Parameters.Add("?login_id", MySql.Data.MySqlClient.MySqlDbType.VarChar).Value =txt_Login.Text 
cmd.Parameters.Add("?passwd", MySql.Data.MySqlClient.MySqlDbType.VarChar).Value =txt_Password.Text 
cmd.Parameters.Add("?last_update", MySql.Data.MySqlClient.MySqlDbType.DateTime).Value =DateTime.Now 

cn.Open() 
cmd.ExecuteNonQuery() 
cn.Close() 

題外話:不要使用hard-coded SQL字符串。使用參數化的sql語句。

+0

我試圖用存儲過程來獲得serverTime之前,但它有問題存儲在數據庫也.. – BlurrieBlue

+0

我已經嘗試給出的解決方案,但它仍然給我同樣的錯誤信息..我需要導入任何庫中? – BlurrieBlue

+0

@BlurrieBlue:哪個提供你正在使用的API(.net連接?) – adatapost

相關問題