C# 列';价值';不属于表
我在数据库的C# 列';价值';不属于表,c#,C#,我在数据库的tblV表中的列名值下存储了一些数字数据。我想将该列值中的数据放入textbox1。 但每当我单击按钮时,它会显示列“值”不属于表错误,即使表中有列值。是什么导致了这个问题 第一个是类,第二个是按钮单击事件的代码 public DataTable GetMaxno(decimal Licenseno) { SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB; I
tblV
表中的列名值下存储了一些数字数据。我想将该列值中的数据放入textbox1
。
但每当我单击按钮时,它会显示列“值”不属于表
错误,即使表中有列值
。是什么导致了这个问题
第一个是类,第二个是按钮单击事件的代码
public DataTable GetMaxno(decimal Licenseno)
{
SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB; Integrated Security=True; Initial Catalog=sudipDB;");
string sql = "select Max(Value) from tblv where Licenseno=@licenseno";
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.AddWithValue("@Licenseno",Licenseno );
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable DT = new DataTable();
da.Fill(DT);
return DT;
}
tryv tv = new tryv();
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = tv.GetMaxno(Convert.ToDecimal(textBox2.Text));
if (dt.Rows.Count > 0)
{
textBox1.Text= dt.Rows[0]["Value"].ToString();
}
}
试一试
试一试
原因可能是您的查询没有返回任何别名作为
Value
。您可以使用选择Max(Value)作为值来解决这个问题,但不要使用它,而是使用您想要的值。它返回第一行的第一列
还有几件事
- 用于处置您的连接和命令
- 不要使用
AddWithValue
。使用Add
方法重载指定参数类型及其大小
然后你可以做
textBox1.Text = tv.GetMaxno(Convert.ToDecimal(textBox2.Text)).ToString();
原因可能是您的查询没有返回任何别名作为Value
。您可以使用选择Max(Value)作为值来解决这个问题,但不要使用它,而是使用您想要的值。它返回第一行的第一列
还有几件事
- 用于处置您的连接和命令
- 不要使用
AddWithValue
。使用Add
方法重载指定参数类型及其大小
然后你可以做
textBox1.Text = tv.GetMaxno(Convert.ToDecimal(textBox2.Text)).ToString();
哪一行抛出错误?哪一行抛出错误?
textBox1.Text = tv.GetMaxno(Convert.ToDecimal(textBox2.Text)).ToString();