Re: [問題] C#與SQL SERVER中DATETIME欄位的怪問題

看板C_Sharp作者 (晴天)時間17年前 (2007/02/06 12:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/5 (看更多)
※ 引述《mygod1220 (晴天)》之銘言: : ※ 引述《mygod1220 (晴天)》之銘言: : : 謝謝大家的回應 : : 我是開發2003的smartdevice專案 : : 用sqlconnection和sqlcommand這兩個元件去存取資料庫 : : 所以datetime.now我是直接寫成command的一部份 @@" : : 但是這樣的話會發生型別轉換的錯誤.. : : 有沒有其他元件可以用param屬性的方式插入日期的呢 : : 謝謝! : 自問自答一下 : command = new SqlCommand( : "INSERT INTO Customers (CustomerID, CompanyName) " + : "VALUES (@CustomerID, @CompanyName)", connection); : // Add the parameters for the InsertCommand. : command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID"); : command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, : "CompanyName"); 又遇到一個怪問題 sqlComRadioMap.CommandText = "Insert into powerStrength (mac, power, regi time) values (@mac, @power, @region, @time)"; // 分別指定參數 我用 sqlComRadioMap.Parameters.Add("@time", System.Data.SqlDbType.DateTime, 8, DateTime.Now.ToString()); 去執行插入後 會出現錯誤訊息如下 System.Data.SqlClient.SqlException: 準備陳述式 '(@mac nvarchar(4000),@power nvarchar(4000),@region nvarchar(4000' 預期之前並未提供的參數 @time 但如果我用 sqlComRadioMap.Parameters.Add("@time",SqlDbType.DateTime); sqlComRadioMap.Parameters["@time"].Value = DateTime.Now; 就可以成功的插入 差別好像就差在欄位的長度,但是我是照的表單上面的欄位長度8去做設定 有人知道這是為什麼嗎@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.82
文章代碼(AID): #15o0QxuJ (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #15o0QxuJ (C_Sharp)