C#将sql查询结果转换为变量
我是C#的新手,所以可能我没把它写好 在我的C#将sql查询结果转换为变量,c#,sql-server,C#,Sql Server,我是C#的新手,所以可能我没把它写好 在我的C#表单中,我将order nr.放入一个表单中。 然后它在sql中检查这个 需要执行此查询: 从订单编号获取订单ID 需要检查订单ID是否在[系统已打开\u订单]=订单已打开 如果订单已打开,则需要在C#Messagebox.Show中运行(“订单已打开,稍后再试”) 如果未打开,则从订单加载数据 SQL查询: C#代码: 您需要从存储过程中的if语句返回一些内容。您可以简单地返回一个值 using (SqlDataReader reader =
C#
表单中,我将order nr.
放入一个表单中。
然后它在sql
中检查这个
需要执行此查询:
订单ID
是否在[系统已打开\u订单]
=订单已打开Messagebox.Show中运行(“订单已打开,稍后再试”)
您需要从存储过程中的if语句返回一些内容。您可以简单地返回一个值
using (SqlDataReader reader = command.ExecuteReader())
{
if (reader.FieldCount == 1)
MessageBox.Show("Order open");
else
{
while(reader.Read())
{
// String OrderCustommerName = reader.GetString(3).TrimEnd();
// String OrderCustommerCity= reader.GetString(4).TrimEnd();
// lbOrderData.Text = OrderCustommerName + " " + OrderCustommerCity;
}
}
}
现在,您可以通过查看DataReader的属性来区分这两个结果之间的差异
IF EXISTS (SELECT 1 FROM [Agenda].[dbo].[System_Opened_Orders] WHERE Record_ID=@OrderID )
BEGIN
-- Order is not openend, get custommer data
select ID, OrderNumber, CustommerName, CustommerCity
FROM [Agenda].[dbo].[orders] where OrderNumber = @sqlordernr
END
您需要从存储过程中的if语句返回一些内容。您可以简单地返回一个值
using (SqlDataReader reader = command.ExecuteReader())
{
if (reader.FieldCount == 1)
MessageBox.Show("Order open");
else
{
while(reader.Read())
{
// String OrderCustommerName = reader.GetString(3).TrimEnd();
// String OrderCustommerCity= reader.GetString(4).TrimEnd();
// lbOrderData.Text = OrderCustommerName + " " + OrderCustommerCity;
}
}
}
现在,您可以通过查看DataReader的属性来区分这两个结果之间的差异
IF EXISTS (SELECT 1 FROM [Agenda].[dbo].[System_Opened_Orders] WHERE Record_ID=@OrderID )
BEGIN
-- Order is not openend, get custommer data
select ID, OrderNumber, CustommerName, CustommerCity
FROM [Agenda].[dbo].[orders] where OrderNumber = @sqlordernr
END
如果“订单已打开”,则无需选择任何内容 然后在代码端;如果datareader中没有行,while.Read()将返回false
如果“订单已打开”,则无需选择任何内容 然后在代码端;如果datareader中没有行,while.Read()将返回false
谢谢,非常简单,但在我的情况下,最好使用
select 1
谢谢,非常简单,但在我的情况下,最好使用select 1
答案很好,但如果您愿意,也可以尝试SQL。答案很好,但如果您愿意,也可以尝试SQL。
IF EXISTS (SELECT 1 FROM [Agenda].[dbo].[System_Opened_Orders] WHERE Record_ID=@OrderID )
BEGIN
-- Order is not openend, get custommer data
select ID, OrderNumber, CustommerName, CustommerCity
FROM [Agenda].[dbo].[orders] where OrderNumber = @sqlordernr
END
using (SqlDataReader reader = command.ExecuteReader())
{
while(reader.Read())
{
// String OrderCustommerName = reader.GetString(3).TrimEnd();
// String OrderCustommerCity= reader.GetString(4).TrimEnd();
// lbOrderData.Text = OrderCustommerName + " " + OrderCustommerCity;
}
}