string strConn = "连接数据库";
SqlConnection scnn=new SqlConnection(strConn);
scnn.Open();
SqlCommand insertComm = new SqlCommand("sp_StudentMemberCreate",scnn);
insertComm.CommandType = CommandType.StoredProcedure; insertComm.Parameters.Add(new SqlParameter("@no",SqlDbType.Char,3,"100")); insertComm.Parameters.Add(new SqlParameter("@name",SqlDbType.Char,10,"100"));
insertComm.ExecuteNonQuery(); // 出错 scnn.Close();
调试了半天,提示系统出错,不知道原因
SqlConnection scnn=new SqlConnection(strConn);
scnn.Open();
SqlCommand insertComm = new SqlCommand("sp_StudentMemberCreate",scnn);
insertComm.CommandType = CommandType.StoredProcedure; insertComm.Parameters.Add(new SqlParameter("@no",SqlDbType.Char,3,"100")); insertComm.Parameters.Add(new SqlParameter("@name",SqlDbType.Char,10,"100"));
insertComm.ExecuteNonQuery(); // 出错 scnn.Close();
调试了半天,提示系统出错,不知道原因
(
@no char(3), --no
@name char(10) --name
)
as
BEGIN TRANSACTION
insert into stu values(@no, @name)
COMMIT TRANSACTION
GO
另外查过了类型,数据库定义也是CHAR 3,CHAR 10
错误信息只是提示 SYSTEM ERROR
string strName = "100";
strName = strName.PadRight( 10, " ");
insertComm.Parameters.Add(new SqlParameter("@name",SqlDbType.Char,10,strName));
2.SourceColumnName输入错误这样写:
SqlParameter param = new SqlParameter("@no", SqlDbType.Char, 3);
param.Value = "100";
insertComm.Parameters.Add(param);SqlParameter param = new SqlParameter("@name", SqlDbType.Char, 10);
param.Value = "100";
insertComm.Parameters.Add(param);insertComm.ExecuteNonQuery(); // 出错
SqlCommand insertComm = new SqlCommand("sp_StudentMemberCreate @no,@name",scnn);
SqlParameter param = new SqlParameter("@no", SqlDbType.Char, 3);
param.Value = "100";
insertComm.Parameters.Add(param);但是仍不明白,为什么前面是错的
我觉得两种方法是一样的
//100这个参数并非赋值,而是表示数据库的列名
new SqlParameter("@no",SqlDbType.Char,3,"100")
有了csdn 就懶得動腦了,hehe