菜鸟问题:求C#在应用程序中如何连接SQL数据库
求一段C#在应用程序中,连接SQL的代码
实现用户登陆功能,用户表:UserLogin(Uname varchar(50); PWD varchar(50))
FORM1 用户登陆界面, 如果登陆成功就跳到FORM2, FORM2显示 用户名和密码
------解决方案--------------------自己看下吧.
using System.Data;
using System.Data.SqlClient;
..
string strConnection= "user id=sa;password=; ";
strConnection+= "initial catalog=Northwind;Server=YourSQLServer; ";
strConnection+= "Connect Timeout=30 ";
SqlConnection objConnection=new SqlConnection(strConnection);
..
objConnection.Open();
objConnection.Close();
--------------------------------------------
解释:
连接SQL Server数据库的机制与连接Access的机制没有什么太大的区别,只是改变了Connection对象和连接字符串中的不同参数.
首先,连接SQL Server使用的命名空间不是 "System.Data.OleDb ",而是 "System.Data.SqlClient ".
其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):
"user id=sa ":连接数据库的验证用户名为sa.他还有一个别名 "uid ",所以这句我们还可以写成 "uid=sa ".
"password= ":连接数据库的验证密码为空.他的别名为 "pwd ",所以我们可以写为 "pwd= ".
这里注意,你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要使用 "user id "和 "password "这样的方式来登录,而需要使用 "Trusted_Connection=SSPI "来进行登录.
"initial catalog=Northwind ":使用的数据源为 "Northwind "这个数据库.他的别名为 "Database ",本句可以写成 "Database=Northwind ".
"Server=YourSQLServer ":使用名为 "YourSQLServer "的服务器.他的别名为 "Data Source ", "Address ", "Addr ".如果使用的是本地数据库且定义了实例名,则可以写为 "Server=(local)\实例名 ";如果是远程服务器,则将 "(local) "替换为远程服务器的名称或IP地址.
"Connect Timeout=30 ":连接超时时间为30秒.
在这里,建立连接对象用的构造函数为:SqlConnection.
--------------------------------------------
------解决方案--------------------private void button1_Click(object sender, EventArgs e)
{
SqlConnection loginconn = new SqlConnection();
SqlCommand logincmd = new SqlCommand( "select * from Admin ", loginconn);
try
{
loginconn.Open();
SqlDataReader reader = logincmd.ExecuteReader();
while (reader.Read())
{
if (IDTextbox.Text != reader[1].ToString() || PSWTextbox.Text != reader[2].ToString())
{
MessageBox.Show( "用户名密码错误,请重新登录 ", "错误 ", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
this.Hide();
form2.Show();
}
}
}
catch (Exception)
{
}
finally
{
loginconn.Close();
}
}