我照着书上打的~怎么错了??
用的是Microsoft Visual Studio 2005,我照着书上打的~~怎么还有问题~很多地方都是 应输入;
还有就是 常量中有换行符 字符文本中的字符太多
private void btnSearch_Click(object sender, EventArgs e)
{
if (txtLoginID.Text =="")
{
MessageBox.Show(""用户名", "输入提示",MessageBoxButtons.OK, MessageBoxIcon.Information);
txtLoginId.Focus();
}
else
{
FillistView();
}
}
private void FillistView()
{
string loginId;
string studenName;
string studentNO;
int userStateId;
string userState;
try
{
string sql=string.Format(
"SELECT StudentId,LoginId,StudentNO,StudentName,UserStatId
From Student where loginId like '%(0)%'",txtloginid.text);
sqlCommand command =new qslcommand(sql,dbhelper.connection);
sqldatareader datareader;
dbhelper.connection.open();
datareader=command.executereader();
lvStudent.Items.clear();
if(!datareader.Hasrows)
{
MessageBox.Show("没有","结果提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
while(datareader.read())
{
loginId=(string)datareader["loginId"];
studenName=(string)datareader["studentName"];
studentNO=(string)datareader["studentNO"];
userStateId =(int)datareader["UserStateId"];
userState=(userStateId==1)?"活动":"非活动";
ListViewItem lvistudent =new ListViewItem(loginId);
lvistudent.Tag=(int)datareader["studentId"];
lvstudent.itms.add(lvistudent);
lvistudent.SubItems.AddRange(
new string[]{studenName,studentNO,userState});
}
}
datareader.close();
}
catch(Exception ex)
{
MessageBox.Show("查询出错","提示",
MessageBoxButtons.OK,MessageBoxIcon.Error);
Console.WriteLine(ex.Message);
}
finally
{
DBHelper.connection.close();
}
}
}
}
9命啊 --------------------编程问答-------------------- 照着书上打出错太正常了...书要是不出错人类就有希望了...
按错误列表的提示一个一个改... --------------------编程问答-------------------- vs中.哪块错了.会有给你标记出来的.
仔细看一下.
首选这行就不对
MessageBox.Show(""用户名", "输入提示",MessageBoxButtons.OK, MessageBoxIcon.Information);
-->
MessageBox.Show("用户名", "输入提示",MessageBoxButtons.OK, MessageBoxIcon.Information);
自己好好找找.
--------------------编程问答-------------------- 楼主仔细检查下代码吧,手敲代码很容易出错
看看哪里类型名称打错了,字符串引号漏掉了,.... --------------------编程问答-------------------- 估计是哪个括号什么的少了啊,少加了什么分号之类的。 --------------------编程问答-------------------- LZ说说出啥错了? --------------------编程问答-------------------- 这个。。。。
自己不能好好检查一下么? --------------------编程问答-------------------- 但是错得好多~
MessageBox.Show(""用户名", "输入提示",MessageBoxButtons.OK, MessageBoxIcon.Information);txtLoginId.Focus();
估计就2句~很可疑~ --------------------编程问答-------------------- 尽信书不如无书、 --------------------编程问答-------------------- 你把错误的代码贴出来。我帮你看看。 --------------------编程问答-------------------- string sql=string.Format(
"SELECT StudentId,LoginId,StudentNO,StudentName,UserStatId
From Student where loginId like '%(0)%'",txtloginid.text);
是这句有错吗? --------------------编程问答-------------------- 尽信书不如无书、 --------------------编程问答-------------------- 就是这行有错~找不出啊
string sql = string.Format("SELECT StudentId,LoginId,StudentNO,StudentName,UserStateId
From Student WHERE LoginId like'%{0}'",
txtloginId.text);
郁闷啊~9命啊 --------------------编程问答-------------------- 就是这行有错~找不出啊
string sql = string.Format("SELECT StudentId,LoginId,StudentNO,StudentName,UserStateId
From Student WHERE LoginId like'%{0}'",
txtloginId.text);
郁闷啊~9命啊 --------------------编程问答-------------------- MessageBox.Show(""用户名", "输入提示",MessageBoxButtons.OK, MessageBoxIcon.Information);txtLoginId.Focus();
这么有两个引号?
应该是MessageBox.Show("用户名", "输入提示",MessageBoxButtons.OK, MessageBoxIcon.Information);txtLoginId.Focus(); --------------------编程问答--------------------
对对~~哪里错了??? --------------------编程问答-------------------- string sql=string.Format(
"SELECT StudentId,LoginId,StudentNO,StudentName,UserStatId
From Student where loginId like '%(0)%'",txtloginid.text);
改为:
String.Format("SELECT StudentId,LoginId,StudentNO,StudentName,UserStatId
From Student where loginId like '%{0}%'",txtloginid.text)
这个括号是不是错了 --------------------编程问答-------------------- txtloginId.text》》txtloginId.Text --------------------编程问答-------------------- 把这句放在一行,不要放在多行。试看看行不行 --------------------编程问答-------------------- 书不是圣书,人没有圣人。 --------------------编程问答-------------------- string sql=string.Format(
"SELECT StudentId,LoginId,StudentNO,StudentName,UserStatId
From Student where loginId like '%(0)%'",txtloginid.text);
这句也不对
改为:
string sql=string.Format(
"SELECT StudentId,LoginId,StudentNO,StudentName,UserStatId
From Student where loginId like '%{0}%'",txtloginid.Text);
--------------------编程问答-------------------- 这样应该差不多了吧。。。。。。 --------------------编程问答-------------------- 还是20楼的掌柜厉害
虽然没看出来~改了哪~
但是复制上去~没错了~
感谢~等下有问题继续再来骚扰~
^_^ --------------------编程问答-------------------- CF刷枪需要的工具 --------------------编程问答-------------------- ding --------------------编程问答-------------------- string.format 这个里边的括号要用大括号{} --------------------编程问答-------------------- lz要细心呀,赋值过去也没看出哪不一样来,说明你没好好看吧 --------------------编程问答-------------------- 照书上的!数据库有建立? --------------------编程问答-------------------- 可能你只是照着打这样容易被书拖着走,要理解,
--------------------编程问答-------------------- 这段是对数据库的操作,你有没有连接好数据库,?? --------------------编程问答-------------------- debug是干什么的 ?调试啊 --------------------编程问答-------------------- (0)
修改为{0} --------------------编程问答--------------------
想起了我的高中生活~
好句子··· --------------------编程问答-------------------- 尽信书不如无书、要实践!实践出真知嘛!书上的代码有好多都是不能运行的!
--------------------编程问答-------------------- 解决方案。仔细检查。偶曾经犯过同样的错误。看着一样实际不一样。 --------------------编程问答-------------------- 先格式化代碼,再來看錯誤吧,這樣會更快,更直接(當然隻包括語法) --------------------编程问答-------------------- 我们要学会自己处理事情的,UP --------------------编程问答-------------------- up --------------------编程问答-------------------- string sql=string.Format(
"SELECT StudentId,LoginId,StudentNO,StudentName,UserStatId
From Student where loginId like [color=#FF0000][u]'%{0}%'",txtloginid.text); !!!!!!!!!!!!
sqlCommand command =new qslcommand(sql,dbhelper.connection);
sqldatareader datareader=new sqldatareader(); !!!!!!!!!!!!!
dbhelper.connection.open();
datareader=command.executereader();
lvStudent.Items.clear();
if(!datareader.Hasrows)
{
MessageBox.Show("没有","结果提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
while(datareader.read())
{
loginId=(string)datareader["loginId"];
studenName=(string)datareader["studentName"];
studentNO=(string)datareader["studentNO"];
userStateId =(int)datareader["UserStateId"];
userState=(userStateId)?"活动":"非活动"; !!!!!!!!!!!!!!!
ListViewItem lvistudent =new ListViewItem(loginId);
lvistudent.Tag=convert.into32(datareader["studentId"]);!!!!
或 lvistudent.Tag=datareader["studentId"].tostring();!!!!
lvstudent.itms.add(lvistudent);
lvistudent.SubItems.AddRange(
new string[]{studenName,studentNO,userState});
}
}
datareader.close();
}
catch(Exception ex)
{
MessageBox.Show("查询出错","提示",
MessageBoxButtons.OK,MessageBoxIcon.Error);
Console.WriteLine(ex.Message);
}
finally
{
DBHelper.connection.close();
--------------------编程问答-------------------- 根据提示走吧 --------------------编程问答-------------------- 首先看这段代码第一感觉就是凌乱
LZ最好按下Ctrl+E+D,把代码规范化一下,那样看起就比较清晰了
还有,手打代码后,在你输入;或}等之后代码就会自动规范了,不像你帖出来的这样啊 --------------------编程问答-------------------- 不要盲目相信书上的,我就遇到过书上好多错误 --------------------编程问答-------------------- 回帖是一种美德!传说每天回帖即可获得 10 分可用分! --------------------编程问答-------------------- 现在的书,做的真差!!!!! --------------------编程问答-------------------- 哎,学会自己调试 --------------------编程问答-------------------- 很多地方都是多了个标点什么的啊。是不是不小心多按了。删掉就行了 --------------------编程问答-------------------- 我 们这本 清华大学的书 都 老是 错 ,书 上有错 是真常的 。 --------------------编程问答-------------------- 楼主边看着改也算学习啊啊。。。。。
我们都是这样过来的嘛 --------------------编程问答-------------------- 书如果是正版,你还是检查一下吧,估计打错了 --------------------编程问答-------------------- 该空格的地方要空格的!
补充:.NET技术 , C#