存储过程参数设置的问题

doyouknowm 2008-07-17 01:17:45
有段代码如下:
SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnectString"]);
conn.Open();

SqlCommand comm=new SqlCommand("cb_save",conn);
comm.CommandType=CommandType.StoredProcedure;

comm.Parameters.Add("@type",System.Data.SqlDbType.Int,4);
comm.Parameters["@type"].Value=Type;

comm.Parameters.Add("@EmployeeCD",System.Data.SqlDbType.VarChar,8);
comm.Parameters["@EmployeeCD"].Value=EmployeeCD;

comm.Parameters.Add("@BeginDate",System.Data.SqlDbType.DateTime,8);
comm.Parameters[@BeginDate].Value=DateTime.Parse(BeginDate);

comm.Parameters.Add("@EndDate",System.Data.SqlDbType.SmallDateTime,4);
comm.Parameters["@EndDate"].Value=DateTime.Parse(EndDate);

comm.Parameters.Add("@WorkTime",System.Data.SqlDbType.VarChar,4);
comm.Parameters["@WorkTime"].Value=this.txtOvertimeWorkTime.Text.ToString();

comm.ExecuteNonQuery();

当执行到comm.Parameters[@BeginDate].Value=DateTime.Parse(BeginDate);时就会出错,怎么回事呢?
...全文
56 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
doyouknowm 2008-07-17
  • 打赏
  • 举报
回复
和数据库类型不符,谢谢大家了
yagebu1983 2008-07-17
  • 打赏
  • 举报
回复
难道是conn.colse()的原因
zzyhuian06142 2008-07-17
  • 打赏
  • 举报
回复
你的存储过程是做什么用的
提示什么错误
yagebu1983 2008-07-17
  • 打赏
  • 举报
回复
应该没问题了!!
yagebu1983 2008-07-17
  • 打赏
  • 举报
回复
什么错误?
doyouknowm 2008-07-17
  • 打赏
  • 举报
回复
恩,谢谢两位,还麻烦再看一下后面的
doyouknowm 2008-07-17
  • 打赏
  • 举报
回复
晕!贴上了才发现原来没加双引号!但加上还是不行,最后一句执行不了,不应该用ExecuteNonQuery么?
kkun_3yue3 2008-07-17
  • 打赏
  • 举报
回复
少输入一对引号

SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnectString"]);
conn.Open();

SqlCommand comm=new SqlCommand("cb_save",conn);
comm.CommandType=CommandType.StoredProcedure;

comm.Parameters.Add("@type",System.Data.SqlDbType.Int,4);
comm.Parameters["@type"].Value=Type;

comm.Parameters.Add("@EmployeeCD",System.Data.SqlDbType.VarChar,8);
comm.Parameters["@EmployeeCD"].Value=EmployeeCD;

comm.Parameters.Add("@BeginDate",System.Data.SqlDbType.DateTime,8);
comm.Parameters["@BeginDate"].Value=DateTime.Parse(BeginDate);

comm.Parameters.Add("@EndDate",System.Data.SqlDbType.SmallDateTime,4);
comm.Parameters["@EndDate"].Value=DateTime.Parse(EndDate);

comm.Parameters.Add("@WorkTime",System.Data.SqlDbType.VarChar,4);
comm.Parameters["@WorkTime"].Value=this.txtOvertimeWorkTime.Text.ToString();

comm.ExecuteNonQuery();
wackyboy 2008-07-17
  • 打赏
  • 举报
回复

comm.Parameters[@BeginDate].Value=DateTime.Parse(BeginDate);
引号
comm.Parameters["@BeginDate"].Value=DateTime.Parse(BeginDate);

111,014

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧