数据库连接成功出现的问题及解决
2014-04-23 18:01
218 查看
今天是喜悦的一天,终于通过自己的双手把SQL2008与C#直接的数据库连接成功了
在这其间碰到了很多问题,开始时数据库中建表是没有建好,出现了not null的问题,昨天得到了解决。
错误一:
今天就SQL语法错误,select * from Clients这样才对,而开始输成了select * from Rent-a-car,把表名写成了库名,这是个十分低级的错误。
错误二:
还有一个重要错误,就是网上看的菜鸟老鸟都会犯“未将对象引用设置到对象的实例”,在网上找了会,看到是对象NULL,我就通过下面这段代码来查找哪一个对象为空:
代码:if(dtClients == null)
{
MessageBox.Show("dtClients为空");
}
发现时dtClient为NULL,原来是代码: DataTable dtClients = ds1.Tables[“Clients“]出了问题,通过修改 DataTable dtClients = ds1.Tables[0];就成功了,是dtClient实例化了,解决了这个问题。
错误三:
可是到下面又犯了一个很常见的问题,就是textbox中的数据和数据库中的数据比较会出问题。
代码:if (tbUsername.Text.ToString() == dr[1].ToString())这样比较不出来。
然后又在网上查找发现可以采用这样一种方法,代码:dr[1].ToString().Trim().Equals(this.tbUsername.Text.Trim())。
这样就解决了问题,成功连接了数据库,并且与数据进行了交互式操作。
以下附代码:
SqlConnection conn = new SqlConnection("Data Source=*;Initial Catalog=Rent-a-Car;User ID=sa;Password = a;");
conn.Open();
SqlCommand comm1 = new SqlCommand("select * from Clients", conn);
SqlDataAdapter adapter1 = new SqlDataAdapter();
adapter1.SelectCommand=comm1;
if (adapter1 == null)
{
MessageBox.Show("adapter1为空");
}
DataSet ds1 = new DataSet();
adapter1.Fill(ds1);
if (ds1== null)
{
MessageBox.Show("ds1为空");
}
DataTable dtClients = ds1.Tables[0];
if (dtClients == null)
{
MessageBox.Show("dtClients为空");
}
if (rbClient.Checked == true)
{
bool flag2 = false;
foreach (DataRow dr in dtClients.Rows)
{
if (dr[1].ToString().Trim().Equals(this.tbUsername.Text.Trim()))
{
if (dr[2].ToString().Trim().Equals(this.tbPassword.Text.Trim()))
{
groupBox1.Visible = false;
tabControl1.Visible = true;
lLogin_info.Text = "亲爱的客户,您已登录成功";
flag2 = true;
break;
}
}
}
if (flag2 == false)
{
lLogin_info.Text = "抱歉!您的用户名或者密码出错。";
}
}
conn.Close();
}
在这其间碰到了很多问题,开始时数据库中建表是没有建好,出现了not null的问题,昨天得到了解决。
错误一:
今天就SQL语法错误,select * from Clients这样才对,而开始输成了select * from Rent-a-car,把表名写成了库名,这是个十分低级的错误。
错误二:
还有一个重要错误,就是网上看的菜鸟老鸟都会犯“未将对象引用设置到对象的实例”,在网上找了会,看到是对象NULL,我就通过下面这段代码来查找哪一个对象为空:
代码:if(dtClients == null)
{
MessageBox.Show("dtClients为空");
}
发现时dtClient为NULL,原来是代码: DataTable dtClients = ds1.Tables[“Clients“]出了问题,通过修改 DataTable dtClients = ds1.Tables[0];就成功了,是dtClient实例化了,解决了这个问题。
错误三:
可是到下面又犯了一个很常见的问题,就是textbox中的数据和数据库中的数据比较会出问题。
代码:if (tbUsername.Text.ToString() == dr[1].ToString())这样比较不出来。
然后又在网上查找发现可以采用这样一种方法,代码:dr[1].ToString().Trim().Equals(this.tbUsername.Text.Trim())。
这样就解决了问题,成功连接了数据库,并且与数据进行了交互式操作。
以下附代码:
SqlConnection conn = new SqlConnection("Data Source=*;Initial Catalog=Rent-a-Car;User ID=sa;Password = a;");
conn.Open();
SqlCommand comm1 = new SqlCommand("select * from Clients", conn);
SqlDataAdapter adapter1 = new SqlDataAdapter();
adapter1.SelectCommand=comm1;
if (adapter1 == null)
{
MessageBox.Show("adapter1为空");
}
DataSet ds1 = new DataSet();
adapter1.Fill(ds1);
if (ds1== null)
{
MessageBox.Show("ds1为空");
}
DataTable dtClients = ds1.Tables[0];
if (dtClients == null)
{
MessageBox.Show("dtClients为空");
}
if (rbClient.Checked == true)
{
bool flag2 = false;
foreach (DataRow dr in dtClients.Rows)
{
if (dr[1].ToString().Trim().Equals(this.tbUsername.Text.Trim()))
{
if (dr[2].ToString().Trim().Equals(this.tbPassword.Text.Trim()))
{
groupBox1.Visible = false;
tabControl1.Visible = true;
lLogin_info.Text = "亲爱的客户,您已登录成功";
flag2 = true;
break;
}
}
}
if (flag2 == false)
{
lLogin_info.Text = "抱歉!您的用户名或者密码出错。";
}
}
conn.Close();
}
相关文章推荐
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解决办法
- VC++6.0用New DataBase Wizard创建数据库时出现无法连接的问题解决备忘
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组
- Java程序连接数据库(mysql,sql server)以及出现的问题解决
- 转载:用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解
- 连接sql sever2008数据库出现了无法连接到数据库引擎问题解决
- JSP页面与数据库连接中出现的中文乱码问题分析与解决
- ireport连接数据库、工具使用过程出现的问题及解决方法
- 关于使用CreateUserWinzard控件创建用户时出现连接数据库问题的解决方法
- JSP中乱码问题解决(一、JSP页面显示乱码,二、表单提交中文时出现乱码,三、数据库连接出现乱码,四、数据库的显示乱码 )
- jdbc连接数据库的时候,显示出乱码。所以修改my.ini下的编码格式,把utf-8改为gbk,但是保存的时候出现说my.ini拒绝访问的情况。保存不成功,希望大家能够帮我解决,谢谢!
- C语言连接数据库时出现的问题以及解决办法
- VS下QT插件 连接数据库出现error LNK2019: 无法解析的外部符号QSqlDatabase问题解决
- Intellij idea中连接远程数据库出现乱码问题的解决
- 解决plsql连接数据库出现的问题
- 疑问:配置Web.Config时出现无法连接到 SQL Server 数据库的问题!!!(已解决)
- MySQL 5.7.20.0下载、图解安装、可能出现的问题、验证是否安装成功(一篇解决)
- 【Loadrunner】解决controller中负载机连接成功,但执行场景时无法正常执行问题
- ThinkPad蓝牙鼠标出现延迟、断开连接等问题的解决办法
- SQL2005 连接数据库各种问题解决方案