-1

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

2 回答 2

2

如果您确定此查询将只返回数据表中的一行和一列,您可以试试这个

MessageBox.Show(dt.Rows[0][0].ToString());
于 2013-07-03T08:32:20.447 回答
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

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

于 2013-07-03T08:45:15.577 回答