C# 嵌入asp.net和SQL Server读取数据并更改文本框字段
我正在创建一个sql项目。我使用了一个C# 嵌入asp.net和SQL Server读取数据并更改文本框字段,c#,asp.net,.net,sql-server,C#,Asp.net,.net,Sql Server,我正在创建一个sql项目。我使用了一个SqlDatareader和文本框,但是当我运行它时,我得到了一个错误 无效操作例外 我的代码是这个,谢谢你的帮助 protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e) { if (DropDownList1.SelectedIndex == 0) { string CS = C
SqlDatareader
和文本框,但是当我运行它时,我得到了一个错误
无效操作例外
我的代码是这个,谢谢你的帮助
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.SelectedIndex == 0)
{
string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
con.Open();
SqlCommand cmd = new SqlCommand
("USE [PRODUCTS] SELECT QUALITIES FROM dbo.COMPUTERS WHERE ID = 0", con);
SqlDataReader reader;
reader = cmd.ExecuteReader();
TextBox1.Text = reader["QUALITIES"].ToString();
}
}
}
您没有考虑数据读取器没有行的情况 试试这个:
while(reader.Read())
{
TextBox1.Text = reader["QUALITIES"].ToString();
}
还要注意,数据库中的“Qualities”字段可能为空。你也会想要保护自己不受此影响 您应该执行两项错误检查任务,以更好地了解导致问题的原因。使用try/catch更仔细地分析异常。同时添加Finally块以关闭读卡器。并检查读卡器是否有行:
reader = cmd.ExecuteReader();
try
{
if (reader.HasRows)
{
reader.Read();
if (!reader.IsDBNull(0))
TextBox1.Text = reader.GetString(0);
}
}
catch (Exception ex)
{
// Do something
}
finally
{
reader.Close();
}
是的,你从哪里得到的错误?什么是上下文?这是一个运行时错误,当我从下拉列表中选择0索引时,asp.net服务器错误显示ups:129:SqlDataReader;130:reader=cmd.ExecuteReader()//下面是错误131:TextBox1.Text=reader[“qualitys”].ToString();132: } 133: }