Visual Studio 2010 数据库怎么使用?

简单的链接,连接上了!在写语句的时候遇到了问题,有很多的不理解。

class DBOperation{
private const string strConn = @"Data Source= . ; Initial Catalog = MySchool ; User ID=sa; Password=bdqn";

public bool CheckUserInfo(string userName, string pwd, ref string strMsg){
SqlConnection conn = new SqlConnection(strConn);
try{
string strSql = "select count(*) from Admin where LoginId= ' " + userName + " ' and Loginpwd + " ' ";

conn.Open();

SqlCommand comm =new SqlCommand(strSql, conn);
int iret = (int)comm.ExecuteScalar();
if(iRet != 1){
strMsg = "输入无效!" ;

teturn false;
}else{
return true;
}
}
catch (Exception){
strMsg = "发生异常!";

return false;
}
finally{
conn.Close();
}
}
}

这些是照着书上打了一遍,在 try {这里面的都不理解,按步骤解释一下}

try{
string strSql = "select count(*) from Admin where LoginId= ' " + userName + " ' and Loginpwd + " ' ";//顶一个字符串 strsql的内容是数据库查询语句. 统计 admin表中 loginid +username和loginpwd都等于空的有多少个.

conn.Open();//打开数据库连接

SqlCommand comm =new SqlCommand(strSql, conn);//sqlcommand方法 两个参数,第一个参数是数据库查询语句,第二个是数据库连接的信息.
int iret = (int)comm.ExecuteScalar();//comm.excutescalar方法返回的值是数字的.返回的值是通过在数据库执行strsql语句返回统计的值.
if(iRet != 1){判断返回值是否不等于1

strMsg = "输入无效!" ;//如果不等于1 则返回strmsg值为 输入无效

teturn false; //返回false
}else{
return true;返回其他值 都返回true.(count 返回的值一般是等于0或者大于0,不晓得为什么要不等于1...)
}
}
catch (Exception){
strMsg = "发生异常!";

return false;
}
finally{
conn.Close();
}
}
}
try 方法是尝试做这件事 .如果成果了.就继续执行下面的代码.如果出现错误了.则在catch中提示处理.而不会让页面出现错误..追问

里面的 where Loginld= ' " + userName + " ' and Loginpwd + " ' ; 他这个引号单引号我搞的我挺乱的,平常不就是 双单引号 或 双双引号;

追答

双引号表面 这是一段字符串,单引号是要把双引号区分开来.因为这句要在数据库中执行.错误的双引号会让这句话在数据库中报错,
int iret = (int)comm.ExecuteScalar() 当数据库中报错时,asp.net只会在这里提示错误,很难找到原因的....

追问

" + userName + " 和 " + pwd + " 都是字符串?

追答

单独这样拿出来 就是字符串. 你可以把双引号去掉,然后用调试 一步一步试试.就会明白 ..

追问

strMsg="发生异常!"; 这个是怎么输出的,输出不了啊!

追答

你只是给strmsg 赋值而已..又没有 输出....
response.write(strmsg);

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-20
第一句sql语句,是在数据库执行的,
第二句 conn.Open();就是开打连接的意思conn是Conneciton的对象,专门用来连接数据库的
第三句SqlCommand comm这里的comm说白话一点就是去数据库执行sql语句的,它需要一个连接(conn),和一个要执行的东西(sql语句);
第四句就是判断执行结果,comm.ExecuteScalar();返回执行结果的第一行的第一列,
第2个回答  2013-08-20
try和catch 还有finally是一个整体,就和if和else一样。 try。。catch。。finally 的意思就是尝试执行try里面的语句,如果没问题的话就跳到finally,执行finally里的语句。如果有问题的话就执行catch里的语句,并且接着执行finally的语句。 然后try里的是什么意思heihei——hehe说的就是了
第3个回答  2013-08-20

Asp.NET GridView案例

1 数据库附加

2 web.config连接地址改掉.

3 vs2010环境打开没问题.

由浅到深自己慢慢学习理解.


有问题追问即可,我当及时回答.

希望能帮到你!

本回答被网友采纳
第4个回答  2013-08-20

相似回答