日期:2014-05-17  浏览次数:20481 次

请问如下C#和SQL2008连接代码的意思是?
引用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace Lesson14
{
class TXT
{
static void Main(string[] args)
{
//string ss="Data Source=KIDASS-PC\\MYSQL_KIDASS;Initial Catalog=MyBank;User ID=kidass;Password=321456";
//SqlConnection sqlconn = new SqlConnection(ss);

// try
//{
// Console.WriteLine("打开数据库!");
// sqlconn.Open();
// Console.WriteLine("打开数据库!");

//}
//catch (Exception ex)
//{
// Console.WriteLine(ex);

//}
//finally{
// sqlconn.Close();
// }

TXT0 sst = new TXT0();
Console.WriteLine("请输入检测的账号:");
string userName = Console.ReadLine();
Console.WriteLine("请输入检测的密码:");
string Pwd = Console.ReadLine();

string stuMag = "";
if (sst.CheckUserInfo(userName, Pwd, ref stuMag))
{
Console.WriteLine("此账户存在" + stuMag);
}
else
{
Console.WriteLine("此账户不存在" + stuMag);
}

Console.ReadLine();
}
}

class TXT0 {
private const string strConn = @"Data Source=KIDASS-PC\\MYSQL_KIDASS;Initial Catalog=MyBank;User ID=kidass;Password=321456";

public bool CheckUserInfo(string userName,string pwd,ref string strMsg) {
SqlConnection sqlconn = new SqlConnection(strConn);

try
{
string strSql = "select count(*) from Admin where LoginId='" + userName + "'and LoginPwd='" + pwd + "'";
Console.WriteLine("打开数据库中。。。。");
sqlconn.Open();

SqlCommand comm = new SqlCommand(strSql,sqlconn);
int iRet = (int)comm.ExecuteScalar();
if (iRet != 1)
{
strMsg = "输入无效";
return false;
}
else {
return true;
}
}
catch (Exception ex)
{
strMsg = "发生异常!";
Console.WriteLine(strMsg+ex);
return false;
}
finally {
Console.WriteLine("关闭数据库!");
sqlconn.Close();
}
}
}
}




我有几个问题:
该服务器名称无误,KidASS用户为最高权限,但不在MyBank数据库里;经注释中的代码检测,命令是没有问题的;
但是在执行时,发现无法打开数据库,返回异常信息,这是为什么?
按照代码逻辑找不到用户应该是返回FALSE才对;
异常信息:实例失败

请大家帮忙看看~

------解决方案--------------------
首先说,这Lesson 代码真不敢恭维。能不照着学最好。 哪行报异常啊。才知道,怎么改。单步调试看看,哪行的错。
------解决方案--------------------
太臃肿了,你直接贴出什么地方报错吧。