求教一下…运行出错,System.NullReferenceException: 未将对象引用设置到对象的实例,就是int returnValue=(int)da.SelectCommand.ExecuteScalar();这一行出错求指出错误并帮忙写出改正方法,谢谢了
string u_id = textBox1.Text;
string u_pwd = textBox2.Text;
.
.
.
. da.SelectCommand.Parameters["@u_name"].Value = u_id;
da.SelectCommand.Parameters["@u_pwd"].Value = u_pwd;
int returnValue=(int)da.SelectCommand.ExecuteScalar();=========存储过程
create proc xx
(@u_name varchar,
@u_pwd varchar)
as
if @u_pwd=(select u_pwd from Users where u_name=@u_name)
return 1
else
return 0
string u_id = textBox1.Text;
string u_pwd = textBox2.Text;
.
.
.
. da.SelectCommand.Parameters["@u_name"].Value = u_id;
da.SelectCommand.Parameters["@u_pwd"].Value = u_pwd;
int returnValue=(int)da.SelectCommand.ExecuteScalar();=========存储过程
create proc xx
(@u_name varchar,
@u_pwd varchar)
as
if @u_pwd=(select u_pwd from Users where u_name=@u_name)
return 1
else
return 0
解决方案 »
- 我现在每天上班都会重复一件事情,谁能告诉我用什么语言或者脚本写我这里的需求最合适
- 问一个读取Word表格程序部署环境的问题
- 一个关于BCD压缩和单DES算法的问题,请高手赐教!
- 判断文件类型的格式
- 怎样自定义DataGrid的报错信息!
- 巨难的水印问题,也可以说是印章的问题?
- 帮个忙,如何选中Treeview的根结点,则它的子结点就全部选中,如果它的所有子结点选中,使它的根结点也就被选呢?
- 关于信息填写完整度的计算
- 询问??
- 为什么提示我这个错了radioButton1.Checked = false && radioButton2.Checked = false
- 请问如何改变window位图图片的大小?
- WinFrom GridView控制第1列不可编辑?
@R int output
set @R=1
return @R
else
return @R
if (o is DBNull)
{
MessageBox.Show("sss");
}
else { MessageBox.Show("ppp"); }
我在句子后面加了以上句子出现的是ppp,看来应该是MessageBox出错了,如果我要让MessageBox弹出返回值,怎么改?
这里,没有查询到数据返回null,所以没法转换为int型时出错楼主调试一下存储过程是否有问题
我单独把这段话改了一点放到查询分析,
if 'qqq'=(select u_pwd from Users where u_name='sss')
return 1
else
return 0检查语法就说不能使用return,怎么回事呢?如果不用2L那样传回参数而是传回return,应该怎么改?
string u_pwd = textBox2.Text;
SqlConnection Conn = new SqlConnection(strConn);
Conn.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = Conn;
da.SelectCommand.CommandText = "xx";
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add("@u_name", SqlDbType.VarChar,50);
da.SelectCommand.Parameters.Add("@u_pwd",SqlDbType.VarChar,50);
da.SelectCommand.Parameters["@u_name"].Value = u_id;
da.SelectCommand.Parameters["@u_pwd"].Value = u_pwd;
String a = (String)da.SelectCommand.ExecuteScalar();
MessageBox.Show(a);
(@u_name varchar,
@u_pwd varchar)
as
if Exists(select 1 from Users where u_name=@u_name AND @u_pwd=u_pwd)
return 1
else
return 0
print 1
else
print 0 感觉你这样写很别扭if exists(select 1 from Users where u_name='sss' and u_pwd=@u_pwd)
return 1
else
return 0
如果用 return 的话,用那个方法你是获取不到值的create proc xx
(@u_name varchar,
@u_pwd varchar)
as
if Exists(select 1 from Users where u_name=@u_name AND @u_pwd=u_pwd)
SELECT 1
else
SELECT 0
http://hi.baidu.com/hlq58/blog/item/b418982f81152b3d1f3089ee.html
CREATE FUNCTION是SQL Server的命令
搂主要是用过程的话,可以看看12楼的网页,过程中的返回值的访问接收方法在C#中