在C#中建立了一个存储过程,其中有一字段为BINARY(8)类型:
cmd.CommandText = "CREATE PROCEDURE add_emp(" +
"IN fname CHAR(10),IN fpwd CHAR(16),IN friqi DATE,IN fxian BINARY(8)) " +
"BEGIN INSERT INTO user(name,pwd,riqi,cuanxian) " +
"VALUES(fname,fpwd,friqi,fxian); END";但是插入时如何为fxian参数传值才行?下面是传递参数:
conn.Open();
cmd.Connection = conn; cmd.CommandText = "add_emp";
cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("?fname", "admin ");
cmd.Parameters["?fname"].Direction = ParameterDirection.Input; cmd.Parameters.Add("?fpwd", "1 ");
cmd.Parameters["?fpwd"].Direction = ParameterDirection.Input; cmd.Parameters.Add("?friqi", DateTime.Today);
cmd.Parameters["?friqi"].Direction = ParameterDirection.Input;
cmd.Parameters.Add("?fxian","ab ");
cmd.Parameters["?fxian"].Direction = ParameterDirection.Input; cmd.ExecuteNonQuery(); MessageBox.Show("执行成功!");执行后出错,提示如下:
Error 0 has occurred:Exception during execution of 'add_emp':Unhandled type encountered
cmd.CommandText = "CREATE PROCEDURE add_emp(" +
"IN fname CHAR(10),IN fpwd CHAR(16),IN friqi DATE,IN fxian BINARY(8)) " +
"BEGIN INSERT INTO user(name,pwd,riqi,cuanxian) " +
"VALUES(fname,fpwd,friqi,fxian); END";但是插入时如何为fxian参数传值才行?下面是传递参数:
conn.Open();
cmd.Connection = conn; cmd.CommandText = "add_emp";
cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("?fname", "admin ");
cmd.Parameters["?fname"].Direction = ParameterDirection.Input; cmd.Parameters.Add("?fpwd", "1 ");
cmd.Parameters["?fpwd"].Direction = ParameterDirection.Input; cmd.Parameters.Add("?friqi", DateTime.Today);
cmd.Parameters["?friqi"].Direction = ParameterDirection.Input;
cmd.Parameters.Add("?fxian","ab ");
cmd.Parameters["?fxian"].Direction = ParameterDirection.Input; cmd.ExecuteNonQuery(); MessageBox.Show("执行成功!");执行后出错,提示如下:
Error 0 has occurred:Exception during execution of 'add_emp':Unhandled type encountered
我也试过了,还是会出现那个错误!
但是我在建立存储过程时如果把Binary字段改为char,再传char值就正常可以写进去。
cmd.CommandText = "CREATE PROCEDURE add_emp(" +
"IN fname CHAR(10),IN fpwd CHAR(16),IN friqi DATE,IN fxian char(8)) " +
"BEGIN INSERT INTO user(name,pwd,riqi,cuanxian) " +
"VALUES(fname,fpwd,friqi,fxian); END";