/*通过C#winform程序访问数据库数据

用到的命名空间和变量类型:

using System.Data.SqlClient;

SqlConnection;数据库连接类

SqlCommand;数据库操作类

SqlDataReader:读取 */

//登录按钮代码
private void button1_Click(object sender, EventArgs e) 
{
if (textBox1.Text == "")
MessageBox.Show("用户名不能为空!", "提示");
else if (textBox2.Text == "")
MessageBox.Show("密码不能为空!", "提示");
try //try...catch...异常处理语句
{
string name, pass;
bool flag = false;
name = textBox1.Text;
pass = textBox2.Text; //获取用户名,密码
string str = "Data Source=SQL服务器名称;Initial Catalog=数据库名;User ID=登录名;Password=密码;";
SqlConnection myConn = new SqlConnection(str);//创建数据库连接类的对象
myConn.Open(); //将连接打开
//SQL语句:从数据库的登录表中搜索登录名,密码
string sqlstring = "select username,password from users where username='" +name + "'and password='" + pass + "'"; 
//执行con对象的函数,返回一个SqlCommand类型的对象
SqlCommand command = new SqlCommand(sqlstring, myConn);
//用cmd的函数执行语句,返回SqlDataReader对象thisReader,thisReader就是返回的结果集(也就是数据库中查询到的表数据)
SqlDataReader thisReader = command.ExecuteReader();
//判断用户名及密码是否正确,对flag进行赋值
while (thisReader.Read()) 
{
if ((thisReader.GetValue(0).ToString().Trim()) == (name.ToString().Trim()))
{
if (thisReader.GetValue(1).ToString().Trim() == pass.ToString().Trim())
{
flag = true;
}
}
}
//用完后关闭连接,以免影响其他程序访问
myConn.Close(); 
if (flag)
{
MessageBox.Show("登陆成功!");
Form2 F = new Form2(); //显示主页面
F.Show();
this.Hide();
}
else
{
MessageBox.Show("请检查你的用户名和密码!");
textBox1.Focus();
}
}
catch (Exception ex2)
{
MessageBox.Show("连接远程SQL数据库发生错误:" + ex2.ToString(), "错误!");
}

转发自:http://www.cnblogs.com/q1092813103/p/5655881.html

最新文章

  1. [ASP.NET MVC 小牛之路]13 - Helper Method
  2. Educational Codeforces Round 12 E Beautiful Subarrays
  3. 【板子】gcd、exgcd、乘法逆元、快速幂、快速乘、筛素数、快速求逆元、组合数
  4. SSIS包部署
  5. Objective-C(一简介)
  6. 李洪强iOS开发之【Objective-C】08-self关键字
  7. sequence 作为序列插入值不是第一个
  8. 对于 APM 用户的一次真实调查分析(下)
  9. QTY N.W G.W
  10. mytbatis配置多数据源
  11. CPU与外设传送数据方式
  12. oracle常见为题汇总,以及一个简单数据连接操作工厂
  13. centos git 升级应用
  14. Web前端优质学习网站
  15. jquery提供的插件无法删除cookie的解决办法
  16. [poj2451]Uyuw's Concert
  17. 多线程系列之九:Worker Thread模式
  18. vue里的样式添加之行间样式
  19. VirtualBox运行出现“0x00000000指令引用的0x00000000内存。该内存不能为written” ,错误解决
  20. 动态规划之91 decode ways

热门文章

  1. 洛谷 P4015 运输问题 【最小费用最大流+最大费用最大流】
  2. ORA-01144_表空间数据文件超出最大限制
  3. 嵌套查询--------关联一对多关系----------collection
  4. Web自动化测试框架-PO模式
  5. 数据库时间类型是 datetime 类型的处理
  6. openID 无效
  7. mysql提升效率
  8. 摘:关于php调用.net的web service 踩过的坑
  9. sql server查看某个表上的触发器
  10. HTML标签的分类