在消息框中显示SQL结果

时间:2013-07-03 08:28:43

标签: c# sql messagebox

我试图在消息框中显示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);

2 个答案:

答案 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

请注意这是如何使用参数,而不是在查询本身中定义所有内容。您可能必须自己编辑参数。