2017-3-2 C#链接数据库实现登陆
只是链接一个数据库就有好多的知识:)
实际操作下来,主要是两种登陆方式:
1.Windows的身份验证;
2.Sql Sever的身份验证;
两种的方法不同,但是主要是通过复制创建数据库的字符串来链接;
ADO.NET提供了sql Connection类,调用命名空间using System.Data.SqlClien来调用。
下面就是
//一个字符串
string conString = "data source=IP地址; Database=数据库名;user id=用户名; password=密码";
//链接数据库
SqlConnection conn = new SqlConnection(conString);
cnn.open();
//下面这个和数据库之间的内容进行交换对比,之前出现了数据存储过程问题,其实就是这句话没有写好,[login] 这个不加提取号,其实也可以成功提取。
string selectsql = "select * from [login] where username='"+ untextBox1.Text+"' and userpassword='"+untextBox2.Text+"'";
//创建sqlCommand实例,SqlCommand对象允许你指定在数据库上执行的操作的类型。对selectsql执行一个存储过程(存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。)
SqlCommand cmd = new SqlCommand(selectsql, conn);
//两个的值相等
cmd.CommandType = CommandType.Text;
//若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不要直接使用构造函数。读取行只进流。
SqlDataReader sdr;
//ExecuteReader()尽可能快地对数据库进行查询并得到结果。ExecuteReader 返回一个DataReader对象:如果在SqlCommand对象中调用,则返回SqlDataReader
sdr = cmd.ExecuteReader();
if (sdr.Read())
{
label1.Text="登陆成功";
//返回父窗体
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
label1.Text = "重新输入";
return;
}