C#2010做航空机票预订管理系统登录界面有问题
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace 航空机票预订管理系统
{
public class LinkDatabase
{
string strcon = @"Server=(local);database=book_ticket;uid=sa;pwd=920220";
public bool updatedb(string sql)
{
SqlConnection con = new SqlConnection(strcon);
con.Open();
try
{
SqlCommand cmd = new SqlCommand(sql, con);
cmd.ExecuteNonQuery();
return true;
}
catch
{
con.Close();
return false;
}
}
public DataTable dsresult(string ordersql)
{
SqlConnection conn = new SqlConnection(strcon);
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(ordersql, conn);
DataTable dataset = new DataTable();
adapter.Fill(dataset);
conn.Close();
return dataset;
}
}
}
-------------------------连接数据库
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 航空机票预订管理系统
{
public partial class login : Form
{
public static bool canlog = false;
public string struser = "";
public int UType = 0;
private DataTable ds = new DataTable();
private DataRow myrow;
private string sendstrsql = "SELECT * FROM 员工";
//查用户表语句
public login()
{
InitializeComponent();
}
private void btn_login_Click(object sender, EventArgs e)
{
LinkDatabase link = new LinkDatabase();
this.ds = link.dsresult(sendstrsql);
for (int i = 0; i < ds.Rows.Count; i++)
{
this.myrow = ds.Rows[i];
if (myrow[0].ToString().Trim() == this.txt_ID.Text.ToString().Trim() && myrow[1].ToString().Trim() == this.txt_pw.Text.ToString().Trim())
{
canlog = true;
struser = myrow[0].ToString().Trim();
UType = Convert.ToInt32(myrow[2]);
this.Close();
return;
}
}
MessageBox.Show("您输入的用户名或密码不正确!");
return;
}
private void btn_cancel_Click(object sender, EventArgs e)
{
canlog = false;
this.Close();
}
}
}
-------------------登录界面代码
登录用户名是员工姓名,登录密码是员工编号,但是输入之后告诉我用户名或密码不正确!
想请问:1.要在SQL Server的查询分析器里编写哪些代码???????
2.怎样修改才能输入员工姓名和编号后登录成功?!!!!跪谢!!!!!
下面是数据库的员工表:
[最优解释]
private void btn_login_Click(object sender, EventArgs e)
{
sendstrsql = "SELECT * FROM 员工 WHERE 员工姓名='"+this.txt_ID.Text.ToString().Trim()+"' AND 员工编号='"+this.txt_pw.Text.ToString().Trim()+"'";
LinkDatabase link = new LinkDatabase();
this.ds = link.dsresult(sendstrsql);
if(ds.Rows.Count!=1)
{
MessageBox.Show("您输入的用户名或密码不正确!");
return;
}
this.myrow = ds.Rows[0];
if (myrow[0].ToString().Trim() == this.txt_ID.Text.ToString().Trim() && myrow[1].ToString().Trim() == this.txt_pw.Text.ToString().Trim())
{
canlog = true;
struser = myrow[0].ToString().Trim();
UType = Convert.ToInt32(myrow[2]);
this.Close();
}
}
[其他解释]
-------------------登录界面代码
登录用户名是员工姓名,登录密码是员工编号,但是输入之后告诉我用户名或密码不正确!
想请问:1.要在SQL Server的查询分析器里编写哪些代码???????
2.怎样修改才能输入员工姓名和编号后登录成功?!!!!跪谢!!!!!
下面是数据库的员工表:
1.SELECT * FROM 员工 WHERE 员工姓名=‘钱一’ AND 员工编号=211001
查询这个纪录如果存在 1条就是成功了。
当然判断的方式很多种
[其他解释]
在你的select语句后面加上查询条件 分别是员工的姓名和编号 然后根据这两个条件来判断数据库中是否存在满足这个两个条件的数据 如果有则可以登录 否则登录失败
[其他解释]
你这是SQL都没整明白。先看看基础的SQL:增删改查吧。
[其他解释]
查询一下怎么加断点,然后加断点跟踪一下数据你就明白哪里出错了,判断用户名密码是否正确几乎没有你这种取出全部数据后再循环判断的,都是用sql语句搞定,而且即使循环也不要用列的索引0,1而应该用列的名字,否则一旦数据结构改变或你取数据的语句中列的顺序改变,你的代码就费了
[其他解释]
select update insert ........
最基础的 数据库语句。。。。
拼接 一个语句 select * from 表 where 查询条件
你是填到dataset 那dateset的Rows 的Count 值大于1 或者等于1
就说明查询到表中有该 数据
在主程序中返回一个 bool true 执行登陆