我对此代码有疑问,我不知道为什么会这样。
代码:
SqlConnection getconn = new SqlConnection(somthing secured);
string sql = "select pk_stu_id , stu_name from MRK , STU , LSN where fk_stu_id = pk_stu_id and fk_lsn_id = pk_lsn_id AND pk_lsn_id="
+ int.Parse(textBoxSearchStudentID.Text)
+ " and pk_stu_id="
+ int.Parse(textBoxSearchLessonID.Text);
SqlCommand cmd = new SqlCommand(sql, getconn);
getconn.Open();
SqlDataReader result = cmd.ExecuteReader();
while (result.Read())
{
textBoxDataSend.Text = string.Empty;
textBoxDataSend.Text = result.ToString();
}
getconn.Close();
但它总是返回:“System.Data.SqlClient.SqlDataReader”。
有谁知道如何解决这个问题?
答案 0 :(得分:2)
问题:您是直接为SqlDataReader
分配TextBox
个对象。
解决方案:您需要通过columns
列或列提供query
使用SqlDataReader
对象返回的所需name
index
。
替换它:
textBoxDataSend.Text = result.ToString();
用这个:
textBoxDataSend.Text = result["stu_name"].ToString();//or you can give any other column name here
答案 1 :(得分:0)
如果使用object
ToString()
,那么object
将为您提供ToString()
类型,除非override
class
具体位于{{1}}内{{1}} 1}}。