[英]How to display a specific data from a database into textbox?
public DataTable DisplayHolidays(int empid)
{
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand("ComputeHoliday", myCon);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@EmployeeID", SqlDbType.Int).Value = empid;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
temp2 = rd[0].ToString();
}
return dt;
}
這是我的代碼,我對此部分有疑問/錯誤。 此類代碼不在類加載中。 它無法在文本框中顯示數據。 我正在使用temp2
將數據存儲在選定的行中,但仍無法正常工作。
我假設您在cmd.ExecuteReader()
處cmd.ExecuteReader()
異常。
請注意,必須先打開連接,然后才能在cmd.ExecuteReader()
使用命令。 DataAdapter.Fill
不需要打開的連接,dataadapter會隱式打開/關閉它。
MSDN :
與SELECT語句關聯的連接對象必須有效,但是不必打開。 如果在調用Fill之前關閉了連接,則將其打開以檢索數據,然后關閉。 如果在調用Fill之前連接已打開,則它將保持打開狀態。
為什么要使用DataAdapter.Fill(DataTable)
以及Command.ExecuteReader
? 您只需要一種獲取數據的方法。 如果您已經填寫表格:
If(dt.Rows.Count > 0)
{
temp2 = dt.Rows[0].Field<string>(0);
}
如果您不使用DataAdapter
和DataTable
而僅使用閱讀器:
using(SqlDataReader rd = cmd.ExecuteReader())
{
if(rd.HasRows)
{
rd.Read();
temp2 = rd.GetString(0);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.