Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在消息框中显示SQL结果_C#_Sql_Messagebox - Fatal编程技术网

C# 在消息框中显示SQL结果

C# 在消息框中显示SQL结果,c#,sql,messagebox,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)) a

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

如果您确定此查询将只返回datatable中的一行和一列,则可以尝试以下操作

MessageBox.Show(dt.Rows[0][0].ToString());

如果只有一个结果,请尝试以下操作:

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

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

以及异常或错误消息?您想在此处显示什么<代码>数据表?如果从该查询中获得多个结果,该怎么办?MessageBox仍然是向用户输出这些结果的正确方式吗?请考虑这一点。不能在消息框中显示DATABATE。您可以将数据放在MessageBox中,但这可能是相当大的工作量。
dt
不是字符串,而是数据表。MessageBox设计用于接收字符串。此外,您应该使用参数化查询,因为您很容易受到代码中SQL注入的攻击。