日期:2014-05-19  浏览次数:20763 次

菜鸟问题:求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();
}
}