iT邦幫忙

0

C# INSERT INTO DATe 問題

我先從a資料庫取出date值 在 textbox1 上

dated 的值為:2014/4/17 上午 12:00:00
在新增到 b資料庫中 但發生了2個問題
1.我準備要 新增時出現 『接近 '上午' 之處的語法不正確。』
如圖一
2.於是我就將 date的值 2014/4/17 以後都刪了,按新增 就寫入資料庫了,但 資料庫的值是
1900-01-30 00:00:00.000

令我不知道怎麼辦 謝謝~!

  SqlConnection conn = new SqlConnection("Data Source=ip;Initial Catalog= table ;Persist Security Info=True;User ID=user;Password=123;");
            conn.Open();
            SqlTransaction myTrans = conn.BeginTransaction();
            SqlCommand sqlCmd = new SqlCommand("INSERT INTO UBIQ_RTRF_Content (processSerialNumber, SerialNumber,Date35) VALUES (" + Label1.Text + "," + TextBox2.Text + "," + TextBox3.Text + ")", conn);
            sqlCmd.Transaction = myTrans;
            sqlCmd.ExecuteNonQuery();
            myTrans.Commit();
            conn.Close();


2
summertw
iT邦好手 1 級 ‧ 2014-06-04 15:56:33
最佳解答

SqlCommand sqlCmd = new SqlCommand("INSERT INTO UBIQ_RTRF_Content (processSerialNumber, SerialNumber,Date35) VALUES (" + Label1.Text + "," +...(恕刪)

先決條件,確定你的TextBox3.Text內容為西元年格式,只要修改成以下格式即可..
SqlCommand sqlCmd = new SqlCommand("INSERT INTO UBIQ_RTRF_Content (processSerialNumber, SerialNumber,Date35) VALUES (" + Label1.Text + "," + TextBox2.Text + ",'" + TextBox3.Text + "')", conn);
祝你成功...

0
rogeryao
iT邦新手 1 級 ‧ 2014-05-30 21:39:30

欄位 Date35 的格式若是 yyyy-MM-dd hh:mm:ss

那麼 TextBox3.Text 也要轉成相同格式

或許是用
Convert.ToDateTime(TextBox3.Text).ToString("yyyy-MM-dd hh:mm:ss")

pp73793 iT邦新手 4 級 ‧ 2014-05-31 04:30:00 檢舉

畫面上看起來轉是ok

但存在資料庫的時間 卻不正確
1985-01-01 00:00:00.000

4
danking
iT邦研究生 3 級 ‧ 2014-06-02 00:19:46

建議你還是使用 SQL Parameter 方式來傳遞資料
用組字串的方式有 SQL Injection 的危險! 這絕對不會是一個好的方式!

我要發表回答

立即登入回答