作者mygod1220 (晴天)
看板C_Sharp
标题Re: [问题] C#与SQL SERVER中DATETIME栏位的怪问题
时间Tue Feb 6 12:40:26 2007
※ 引述《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