gpt4 book ai didi

c# - 如何在消息框中显示由sql查询打印的值

转载 作者:太空狗 更新时间:2023-10-29 18:33:35 27 4
gpt4 key购买 nike

我想打印一个由 SQL Server 返回的值。

If NOT Exists(SELECT * FROM ItemList WHERE ItemName='txtItemNama') 
BEGIN
INSERT INTO ItemList (ItemName) VALUES('txtItemNamea')
END
ELSE
BEGIN
Print 'Duplicate'
END

此查询将返回受影响的行数或重复

我想在 C# 中的 MessageBox.Show() 中使用这个 Duplicate

string query1 = "If NOT Exists(SELECT * FROM ItemList WHERE ItemName='txtItemName') BEGIN  INSERT INTO ItemList (ItemName) VALUES('txtItemName')  END ELSE  BEGIN Print 'Duplicate' END";
SqlCommand cmd = new SqlCommand(query1, conn);
SqlDataReader dr;
conn.Open();
dr=cmd.ExecuteReader();
conn.Close();
MessageBox.Show(dr);

我不知道如何使用 dr 来做到这一点。请帮我打印 Duplicate here

MessageBox.Show(dr);

我需要在这里做什么?

最佳答案

晚了几年,但您应该能够通过将事件处理程序附加到 InfoMessage event 来检索打印/信息文本(如最初要求的那样)在 SqlConnection 对象上 -

但只有在您不能(出于某种原因)使用此线程中提到的替代方案时才这样做。

static void Main(string[] args)
{
using (SqlConnection connection = new SqlConnection(@"someconnectionstring"))
{
connection.Open();
using(SqlCommand command = new SqlCommand("test", connection))
{
connection.InfoMessage += new SqlInfoMessageEventHandler(connection_InfoMessage);
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
DataTable dt = new DataTable();
adapter.Fill(dt); // Do something with DataTable
}
}
}
}

static void connection_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
// e contains info message etc
}

关于c# - 如何在消息框中显示由sql查询打印的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2027463/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com