c#,winform
我在form1裡寫:
myclass.sqlconn.Open();
SqlDataReader aa=myclass.returnuserdept("str_tempdeptid");
while(aa.Read())
{
string eee=aa["deptid"].ToString();
MessageBox.Show(eee);
}
myclass.sqlconn.Close();
myclass裡的returnuserdept申明如下:
public SqlDataReader returnuserdept(string str_value)
{
SqlCommand sqlcomm=sqlconn.CreateCommand();
sqlcomm.CommandText="select * from Dept where DeptName='"+str_value+"'";
SqlDataReader sqldr=sqlcomm.ExecuteReader();
return sqldr;
}請問這樣寫哪裡有錯???為何messagebox出來的eee 總不是對應的deptid值???
我在form1裡寫:
myclass.sqlconn.Open();
SqlDataReader aa=myclass.returnuserdept("str_tempdeptid");
while(aa.Read())
{
string eee=aa["deptid"].ToString();
MessageBox.Show(eee);
}
myclass.sqlconn.Close();
myclass裡的returnuserdept申明如下:
public SqlDataReader returnuserdept(string str_value)
{
SqlCommand sqlcomm=sqlconn.CreateCommand();
sqlcomm.CommandText="select * from Dept where DeptName='"+str_value+"'";
SqlDataReader sqldr=sqlcomm.ExecuteReader();
return sqldr;
}請問這樣寫哪裡有錯???為何messagebox出來的eee 總不是對應的deptid值???
SqlCommand sqlcomm=myclass.sqlconn.CreateCommand();
sqlcomm.CommandText="select * from Dept where DeptName='"+str_tempdeptid+"'";
SqlDataReader sqldrdept=sqlcomm.ExecuteReader();
while(sqldrdept.Read())
{
str_deptid=sqldrdept["DeptId"].ToString();
}
MessageBox.Show(str_deptid);請問這是為什麼丫?????
為什麼從myclass裡傳遞過來就會出錯呢???
应该在while(rd.read())前面加个判断
if(rd.Hasrows)
{
while(rd.read())
...
}
{
string eee=aa["deptid"].ToString();
MessageBox.Show(eee);
}
这里显示的是每个符合 条件的deptidwhile(sqldrdept.Read())
{
str_deptid=sqldrdept["DeptId"].ToString();
}
MessageBox.Show(str_deptid);
这里显示的是最后一个符合 条件的deptid
查询出多少条记录