我一直在试图使这个代码块的工作,但我似乎无法找到它的错误。它不会返回我正在查找的值。我会尝试在工作台中运行SQL语句,并返回所需的行数(即3)。mysql SQL语句不起作用C#
try
{
using (MySqlConnection con = new MySqlConnection(GlobalValues.ConnectionString))
{
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.CommandText =
@"
SELECT strDetPremID, strPremiseName
FROM tbldetailprem
INNER JOIN tblpremise ON strDetPremID = strPremiseID
WHERE strDetPremContID = @id;
;
"
;
cmd.Parameters.AddWithValue("@id", id);
cmd.Connection = con;
using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
{
con.Open();
cmd.ExecuteNonQuery();
this.Clear();
da.Fill(this);
con.Close();
}
}
}
}
catch (MySqlException ex)
{
MessageBox.Show(ex.ToString() + " - " + ex.Number);
}
能否请你告诉我,什么是错,此代码
你运行一个select语句,并要求2倍的值(strDetPremID和strPremiseName)和你期待一个INT回来?这个陈述怎么只返回'3'?您也不会通过选择影响任何行。 – Darren
这是什么类型的应用程序?通常我所做的是执行一个datareader,然后根据datareader的属性分配变量。你的SQL是一个'SELECT'语句,那你为什么要执行'ExecuteNonQuery'? – Hill
@kalamazoowho - 它似乎是'MySqlDataAdapter'的一个实例。 – Hill