数据库查询返回值

xxqqhh_nn 2002-07-17 10:35:18
我知道什么都问不好:(。可是我真的不知道。
我的想法是:当用户向窗体里第一个textbox输入信息后(焦点转移后),其他textbox里的内容是由第一个textbox的值来决定的where studentno=studentno7。
我原来想用焦点失去事件好象不得:
private void studentno7_Leave(object sender, System.EventArgs e)
{
//提取数据库中学生考号=文本框中数字的内容
name7.Text="2";
char studentno=Convert.ToChar(studentno7.Text);
SqlCommand sqlname = new SqlCommand("select name from studentmessage where studentno=studentno7", sqlConnection1);
sqlname.Connection.Open();
char name = (char) sqlname.ExecuteScalar();
name7.Text="Convert.ToString(name)";
sqlConnection1.Close();

}
只好用在用户输入回车后触发,我知道这很不安全。如果用户输入制表键或者直接用鼠标。。。。。那就不行了。
各位可以帮看看这个问题吗?
private void studentno7_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
this.name7.Focus();
char studentno=Convert.ToChar(studentno7.Text);
SqlCommand sqlname = new SqlCommand("select name from studentmessage where studentno=studentno7", sqlConnection1);
sqlname.Connection.Open();
char name = (char) sqlname.ExecuteScalar();!!!这句出错!!!
name7.Text="Convert.ToString(name)";
sqlConnection1.Close();


}
}
还有我不太知道,数据库查询返回值的代码怎么写。象我这样写程序会有如下提示:
未处理的“System.Data.SqlClient.SqlException”类型的异常出现在 system.data.dll 中
其他信息:系统错误。
是这句错:char name = (char) sqlname.ExecuteScalar();
如果,用dataset又怎么写呢(某行的某字段的值)?
我知道我连说都说得不清楚:(
还请各位帮忙,谢谢!!

...全文
326 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
daehappy 2002-07-21
  • 打赏
  • 举报
回复
up!gz!
xxqqhh_nn 2002-07-18
  • 打赏
  • 举报
回复
我根据你的方法修改以后,这句出错:char name = (char) sqlname.ExecuteScalar();
未处理的“System.NullReferenceException”类型的异常出现在 examsignup.exe 中

其他信息:未将对象引用设置到对象的实例。
数据库里肯定有要查询的记录。
xxqqhh_nn 2002-07-17
  • 打赏
  • 举报
回复
jdpopo(破破) :
我这个窗体要做的是修改。
用户提供修改的信息。
如:学生的id。
程序就将已经输入的该学生的信息全部显示出来。
方便修改其中的某项。
hbxtx 2002-07-17
  • 打赏
  • 举报
回复
看一看VS.net里的帮助或Quickstart,很清楚的。
jdpopo 2002-07-17
  • 打赏
  • 举报
回复
哈哈!
第一句话打错了!
应该是:
ExecuteScalar()使用这个方法的时候,
jdpopo 2002-07-17
  • 打赏
  • 举报
回复
ExecuteScalar()使用这个方法的使用,
必须要肯定能查出记录来,按照你现在的方法是肯定会报错的。

用DataSet取值是
dataset.Tables["tablename"].Rows["rowname"]["columnname"].ToString();

再说我怎么觉得你这个SQL语句好像和你的录入没有关系,是不是录入只是为了引发这个事件的?
golderer 2002-07-17
  • 打赏
  • 举报
回复
你用DataSet类,不就可以处理了么
xxqqhh_nn 2002-07-17
  • 打赏
  • 举报
回复
我顶
xxqqhh_nn 2002-07-17
  • 打赏
  • 举报
回复
studentno7.Text.Trim()
不用类型转化??
对了你能不能把用dataset方法的详细代码写下。
我写的计算机说rows未定义:(
谢谢。
jdpopo 2002-07-17
  • 打赏
  • 举报
回复
那SQL语句是不是应该这样?
SqlCommand sqlname = new SqlCommand("select * from studentmessage where studentno='" + studentno7.Text.Trim() + "'", sqlConnection1);

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧