这是登陆窗口的代码
private void button1_Click(object sender, EventArgs e)
{
string idnum = AccouTextBox.Text;
string pas = PassTextBox.Text;
string sqlstr = "USE gcgl SELECT yhid,yhmm FROM yh WHERE yhid='idnum'and yhmm='pas' ";
newname.BaseFf baseff = new gogla.BaseFf();
SqlDataReader sqlread = baseff.getread(sqlstr); string dd = sqlread.Read().ToString();
MessageBox.Show(dd);//这里永远出来的都是 false
if (sqlread.HasRows)
MessageBox.Show("登陆成功"); else
{ MessageBox.Show("账户密码错误,请从新登陆");
//AccouTextBox.Text = "";
//PassTextBox.Text = "";
}有一点我确定 ,数据库一定是连上的。如果我改了上面的SQL语句会报错。
数据库中的表中也是有数据的。账号密码都是12345678
但是输进去都是账户密码错误,请从新登陆。
下面是公共的代码
class BaseFf
{
//SqlConnection getcon();//数据库连接函数
//void DataCz(string Czstr);//执行SQL语句插入,删除。
//DataSet getData(string comTex,string conn);//执行SQL语句,修改。
//SqlDataReader getread(string sqlstr);//数据读取 public SqlConnection getcon()
{
string connectstr = "Data Source=localhost; Initial Catalog=gcgl;"
+ "Persist Security Info=True; User ID=sa; Password=123456";
SqlConnection myConn = new SqlConnection(connectstr); return myConn; }
public SqlDataReader getread(string sqlstr)
{ SqlConnection sqlcon = this.getcon(); SqlCommand sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcon.Open(); SqlDataReader sqlreader = sqlcom.ExecuteReader(CommandBehavior.CloseConnection);
return sqlreader;
}求大家给我看看。
private void button1_Click(object sender, EventArgs e)
{
string idnum = AccouTextBox.Text;
string pas = PassTextBox.Text;
string sqlstr = "USE gcgl SELECT yhid,yhmm FROM yh WHERE yhid='idnum'and yhmm='pas' ";
newname.BaseFf baseff = new gogla.BaseFf();
SqlDataReader sqlread = baseff.getread(sqlstr); string dd = sqlread.Read().ToString();
MessageBox.Show(dd);//这里永远出来的都是 false
if (sqlread.HasRows)
MessageBox.Show("登陆成功"); else
{ MessageBox.Show("账户密码错误,请从新登陆");
//AccouTextBox.Text = "";
//PassTextBox.Text = "";
}有一点我确定 ,数据库一定是连上的。如果我改了上面的SQL语句会报错。
数据库中的表中也是有数据的。账号密码都是12345678
但是输进去都是账户密码错误,请从新登陆。
下面是公共的代码
class BaseFf
{
//SqlConnection getcon();//数据库连接函数
//void DataCz(string Czstr);//执行SQL语句插入,删除。
//DataSet getData(string comTex,string conn);//执行SQL语句,修改。
//SqlDataReader getread(string sqlstr);//数据读取 public SqlConnection getcon()
{
string connectstr = "Data Source=localhost; Initial Catalog=gcgl;"
+ "Persist Security Info=True; User ID=sa; Password=123456";
SqlConnection myConn = new SqlConnection(connectstr); return myConn; }
public SqlDataReader getread(string sqlstr)
{ SqlConnection sqlcon = this.getcon(); SqlCommand sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcon.Open(); SqlDataReader sqlreader = sqlcom.ExecuteReader(CommandBehavior.CloseConnection);
return sqlreader;
}求大家给我看看。
解决方案 »
- 问下,,报表的使用问题,,在线等!!,,,,另外开号追加300分
- 利用重载比较三个数的大小?怎么写
- DevExpress.XtraTab.XtraTabControl中的tabpage的enter事件不触发
- MIDI怎么能转成wav啊
- 能够使用Ado.Net建立存储过程?
- 在page_load中创建了几个textbox与button及事件,应该如何写才能保证资源得以释放以减轻服务器负担?
- 如何封送含有变长数组的结构 初学 请指教
- 请高手挽救我的思想 迷茫了
- winform中UserControl与窗口进行交互
- listview与treeview之间的联系
- csharp怎么用最简单的方法获得快捷方式所指向的目标文件或文件夹(包括完整路径)名?
- 围观》》》》c# xml
WHERE yhid='idnum'and yhmm='pas' ;你这里这样写就已经错了,账号永远是idnum,密码永远是pas,当字符串处理了
用占位符吧!
string sqlstr =string.Formart( "USE gcgl SELECT yhid,yhmm FROM yh WHERE yhid='{1}'and yhmm='{2}' ",idnum,pas);
写错了是 这样的 WHERE yhid='{0}'and yhmm='{1}' 从0开始的
string sqlstr = "USE gcgl SELECT yhid,yhmm FROM yh WHERE yhid='"+idnum+"'and yhmm='"+pas+"'";
这个错了!这样一直是在找账号为idnum密码pas的用户。当然没有啦!
用字符串拼接SB或者占位符都可以