SqlCommand dcmd = new SqlCommand();
dcon.Open();
dcmd.Connection = dcon;
dcmd.CommandType = CommandType.StoredProcedure;
dcmd.CommandText = "sp_format_detail";
dcmd.Parameters.Add("@aspecttitle" , SqlDbType.VarChar ,50);
dcmd.Parameters.Add("@subjecttitle" , SqlDbType.VarChar ,50);
dcmd.Parameters.Add("@contentformat" , SqlDbType.VarChar ,500);
dcmd.Parameters["@aspecttitle"].Value = aspecttitle;
dcmd.Parameters["@subjecttitle"].Value = subjecttitle;
dcmd.Parameters["@contentformat"].Direction = ParameterDirection.Output;
dcmd.ExecuteNonQuery();
contentformat =dcmd.Parameters["@contentformat"].Value.ToString();//用Value属性来访问
dcon.Close();
dcon.Open();
dcmd.Connection = dcon;
dcmd.CommandType = CommandType.StoredProcedure;
dcmd.CommandText = "sp_format_detail";
dcmd.Parameters.Add("@aspecttitle" , SqlDbType.VarChar ,50);
dcmd.Parameters.Add("@subjecttitle" , SqlDbType.VarChar ,50);
dcmd.Parameters.Add("@contentformat" , SqlDbType.VarChar ,500);
dcmd.Parameters["@aspecttitle"].Value = aspecttitle;
dcmd.Parameters["@subjecttitle"].Value = subjecttitle;
dcmd.Parameters["@contentformat"].Direction = ParameterDirection.Output;
dcmd.ExecuteNonQuery();
contentformat =dcmd.Parameters["@contentformat"].Value.ToString();//用Value属性来访问
dcon.Close();
try{
objCmd.Connection.Open();
objCmd.ExecuteNonQuery();
stu_id = objCmd.Parameters["@StuID"].Value.ToString();
objCmd.Connection.Close();
}catch( SqlException ex){
LblInfo.Text = ex.Message;
}
if( stu_id == "" ) Mess.Text = "none";
else Mess.Text = stu_id;
在这里我的stu_id总是为空,为什么?
存储过程我是这样定义的:
CREATE PROCEDURE LoginID_PWD
@UserName varchar,
@UserPWD varchar,
@StuID nvarchar output
AS
SELECT @StuID = stu_id
FROM student
WHERE username = @UserName AND password = @UserPWD
表结构为
username varchar 20
password varchar 20
stu_id nvarchar 12