我试图在消息框中显示SQL查询的结果,但是我无法让它工作。
这是我的代码:
SqlConnection CN = new SqlConnection(constring);
DataTable dt = new DataTable();
CN.Open();
SqlDataAdapter sda = new SqlDataAdapter("select (Table_MAL_MEZANYAMASROF.MOKHASASMEZANYA- sum (MAL_ERTEBAT.MONY)) as 'debit' from Table_MAL_MEZANYAMASROF,MAL_ERTEBAT where Table_MAL_MEZANYAMASROF.BANDNO=MAL_ERTEBAT.BANDNO and MAL_ERTEBAT.BANDNO= '" + EdkhalBayanto.txtBandNo.Text + "'and MAL_ERTEBAT.BANDNAME = '" + EdkhalBayanto.txtBandName.Text + "' group by Table_MAL_MEZANYAMASROF.MOKHASASMEZANYA", CN);
sda.Fill(dt);
MessageBox.Show(dt);
答案 0 :(得分:2)
如果您确定此查询只返回带有一列的数据表中的一行,则可以尝试此
MessageBox.Show(dt.Rows[0][0].ToString());
答案 1 :(得分:0)
如果您只有一个结果,请尝试:
SqlConnection CN = new SqlConnection(constring); // declare connection as CN
string Query = "select (Table_MAL_MEZANYAMASROF.MOKHASASMEZANYA- sum (MAL_ERTEBAT.MONY)) as 'debit' from Table_MAL_MEZANYAMASROF,MAL_ERTEBAT where Table_MAL_MEZANYAMASROF.BANDNO=MAL_ERTEBAT.BANDNO and MAL_ERTEBAT.BANDNO = @BandNo and MAL_ERTEBAT.BANDNAME = @BandName group by Table_MAL_MEZANYAMASROF.MOKHASASMEZANYA" // declare query as string Query
CN.Open(); // open connection
using (var cmd = new SqlCeCommand(Query, CN)) // initialize a new SQL command
{
cmd.Parameters.Add("@BandNo", SqlDbType.NVarChar, 100);
cmd.Parameters.Add("@BandName", SqlDbType.NVarChar, 100);
cmd.Parameters["BandNo"].Value = EdkhalBayanto.txtBandNo.Text;
cmd.Parameters["BandName"].Value = EdkhalBayanto.txtBandName.Text;
result = (string) cmd.ExecuteScalar(); // returns the first row of the first column, ignores everything else
}
CN.Close(); // close connection
MessageBox.Show(result); // show the result in a messagebox
请注意这是如何使用参数,而不是在查询本身中定义所有内容。您可能必须自己编辑参数。