这是我的存储过程:如何将默认值传递给storedprocedure中的日期参数 - Sqlserver 2008?
ALTER proc [dbo].[allrecp]
@peid int=0,
@pename varchar(20)='',
@pdes varchar(20)='',
@pdoj date='1111-1-1',
@sal money=0,
@dept int=0,
@loc int=0,@i int=0
as begin
if(@i=1)
begin
insert into Employee values(@pename,@pdes,@pdoj,@sal,@dept,@loc)
end
if(@i=2)
begin
update Employee set [email protected],[email protected],[email protected],[email protected],[email protected],[email protected] WHERE [email protected]
end
if(@i=3)
delete EMPLOYEE where [email protected]
end
而且我的C#代码:
private void btndelete_Click(object sender, EventArgs e)
{
parameteres(3);
}
private void btnupdate_Click(object sender, EventArgs e)
{
parameteres(2);
}
private void BTNINSERT_Click(object sender, EventArgs e)
{
parameteres(1);
}
public void parameteres(int i)
{
cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "allrecp";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@peid", SqlDbType.Int)).Value = txtempid.Text;
cmd.Parameters.Add(new SqlParameter("@pename", SqlDbType.VarChar, 20)).Value = txtename.Text;
cmd.Parameters.Add(new SqlParameter("@pdes", SqlDbType.VarChar, 20)).Value = txtdesg.Text;
cmd.Parameters.Add(new SqlParameter("@pdoj", SqlDbType.Date)).Value = txtdoj.Text;
在这里,我所面临的问题:
未能参数值从字符串转换为a日期时间
代码:
cmd.Parameters.Add(new SqlParameter("@dept", SqlDbType.Int)).Value = txtdept.Text;
cmd.Parameters.Add(new SqlParameter("@sal", SqlDbType.Money)).Value = txtsal.Text;
cmd.Parameters.Add(new SqlParameter("@loc", SqlDbType.Int)).Value = txtlocation.Text;
cmd.Parameters.Add(new SqlParameter("@i", SqlDbType.Int)).Value = i;
con.Open();
int x = cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(x + " rows effected");
在这里,我所面临的问题:
cmd.Parameters.Add(new SqlParameter("@dept", SqlDbType.Int)).Value = txtdept.Text;
如何通过默认值来存储过程?
为什么你定义@pdoj日期=“1111年1月1日”。尝试使用pdoj date ='1111-01-01'。此外,我会建议使用datepicker而不是文本框 – DevelopmentIsMyPassion 2013-03-21 07:42:23
@askreva,但问题出现在前端 – mahesh 2013-03-21 08:17:58
你确定问题是在前端?我认为它打你的存储过程,这就是为什么返回你的错误。 – DevelopmentIsMyPassion 2013-03-21 08:36:45