0
如何在下面的c#代码中将query1列Display Group
用于查询2。如何将Sql查询中的一列用于C#中的另一个sql查询中代码
我已经通过????
符号表示了我想要放置query1列的位置。
public class PopulateRangeInStore
{
[Test]
[Category(TestType.NeedsDeployment)]
public void PopulateRangeInStores()
{
ExecutePopulateRangeInStoreProcedure("csg_sp_populate_RangeInStore");
using (var connection = IKBDatabaseConnection.GetConnectionForIKBTFS())
{
string query1 = "SELECT count (distinct DESC7) FROM ix_spc_planogram (NOLOCK) WHERE dbstatus= 1";
string query2 = "SELECT count (distinct EquipmentType) FROM Csg_Range_In_Store (NOLOCK) WHERE DisplayGroup = '" + ?????+ "'";
var command1 = new SqlCommand(query1, connection);
var command2 = new SqlCommand(query2, connection);
//string output = " ";
//var = " ";
//var actualDG = " ";
var actualDG = " ";
var expectedDG = " ";
var dataReader1 = command1.ExecuteReader();
var dataReader2 = command2.ExecuteReader();
if (dataReader1.Read())
{
DataTable dt = new DataTable();
dt.Load(dataReader1);
expectedDG = dt.Rows.Count.ToString();
}
if (dataReader2.Read())
{
DataTable dt = new DataTable();
dt.Load(dataReader2);
actualDG = dt.Rows.Count.ToString();
}
actualDG.Should().Be(expectedDG);
}
}
private void ExecutePopulateRangeInStoreProcedure(string storedProcedure)
{
using (var connection = IKBDatabaseConnection.GetConnectionForIKBTFS())
{
using (SqlCommand cmd = new SqlCommand(storedProcedure, connection))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ix_sys_error", SqlDbType.Int).Value = 0;
cmd.CommandTimeout = 0;
cmd.ExecuteNonQuery();
}
}
}
}
我看不到你的代码中你用“????”表示的位置,符号 – chameleon86
@ chameleon86我刚才编辑的可以....现在你可以在查询2中看到它吗? –
1)尝试像这样进行连接会让您打开SQL注入(可能无论如何)。 2)您正在尝试执行程序化连接,在服务器上进行连接并报告结果几乎总是会更快。 3)第一个查询输出的唯一列是一个计数,这几乎从来都不是正确的参数。 –