C#数据库编程求大神,这是什么情况
源代码:public Form5()
{
InitializeComponent();
string st = @"Data Source=(localdb)\Projects;Initial Catalog=stumane";
SqlConnection con = new SqlConnection(st);
con.Open();
Form1 F = new Form1();
string sqlstr = "select * from stujiben where sid='" + F.textBox1.Text + "'";
SqlCommand com=new SqlCommand(sqlstr,con);
SqlDataReader sdr=com.ExecuteReader();
this.textBox1.Text=Convert.ToString(sdr["sid"]);
this.textBox2.Text = Convert.ToString(sdr["name"]);
this.textBox3.Text = Convert.ToString(sdr["sex"]);
this.textBox4.Text = Convert.ToString(sdr["pep"]);
this.textBox5.Text=Convert.ToString(sdr["sid"]);
this.textBox6.Text=Convert.ToString(sdr["sid"]);
this.textBox7.Text=Convert.ToString(sdr["sid"]);
this.textBox8.Text=Convert.ToString(sdr["sid"]);
this.textBox9.Text=Convert.ToString(sdr["sid"]);
this.textBox10.Text=Convert.ToString(sdr["sid"]);
this.textBox11.Text=Convert.ToString(sdr["sid"]); ;
this.textBox12.Text=Convert.ToString(sdr["sid"]);
this.textBox13.Text=Convert.ToString(sdr["sid"]);
this.textBox14.Text=Convert.ToString(sdr["sid"]);
this.textBox15.Text=Convert.ToString(sdr["sid"]);
this.textBox16.Text=Convert.ToString(sdr["sid"]);
this.textBox17.Text=Convert.ToString(sdr["sid"]);
this.textBox18.Text=Convert.ToString(sdr["sid"]); ;
this.textBox19.Text=Convert.ToString(sdr["sid"]);
this.textBox20.Text=Convert.ToString(sdr["sid"]);
sdr.Close();
con.Close();}
非常疑惑的一件事发生了,当我运行时,运行到”this.textBox1.Text=Convert.ToString(sdr["sid"]);“时中断,错误为:”在没有任何数据时进行无效的读取尝试。".....尼玛!!这算什么错误理由,我的数据库里明明有数据的。。。。 数据库 C# --------------------编程问答-------------------- string st = @"Data Source=(localdb)\Projects;Initial Catalog=stumane";
首先你的数据库连接字符串就是错误的,以什么身份访问数据库?
--------------------编程问答-------------------- Data Source=(localdb)\Projects;Initial Catalog=stumane;Integrated Security=True --------------------编程问答-------------------- 问题不是出在这,况且我现在已经把问题解决了。。 --------------------编程问答-------------------- 你的数据库连接字符串不会是错了吧! --------------------编程问答-------------------- 没有错误,我试过了,而且问题现在也解决了。。 --------------------编程问答-------------------- 如果 你 用 SqlDataReader sdr=com.ExecuteReader();
必须 用while循环读取
while(ser.Read())
{
}
他类似于游标 --------------------编程问答--------------------
if也可以 不是必须用while --------------------编程问答--------------------
--------------------编程问答--------------------
if(dr.read())
{
xxx.text=dr["name"].tostring();
ooo.text=dr[1].tostring();
}
是的
你用了sdr.close; 但没打开阅读器
做这个用 异常捕获好点 --------------------编程问答--------------------
如果 你 用 SqlDataReader sdr=com.ExecuteReader();
必须 用while循环读取
while(ser.Read())
{
}
他类似于游标
if也可以 不是必须用while
如果 你 用 SqlDataReader sdr=com.ExecuteReader();
必须 用while循环读取
while(ser.Read())
{
}
他类似于游标
补充:.NET技术 , C#