【发布时间】:2014-05-15 07:14:46
【问题描述】:
我正在编辑我的代码隐藏文件,在数据库中我将这 4 个表链接在一起:
Table :Compannies
--------------------
companyId
--------------------
companyName
--------------------
还有:
Table :UserCompany
--------------------
userId
--------------------
companyId
--------------------
还有:
Table :Users
--------------------
UserId
--------------------
Email
--------------------
还有:
Table :Choice
--------------------
Email
--------------------
Choice
--------------------
现在,我想检查所有公司名称,如果选择相应 =“YES”,然后执行操作。
string sqlIns = "SELECT companyName FROM Companies WHERE companyId IN
(SELECT companyId FROM UserCompany WHERE userId IN
(SELECT UserId FROM Users WHERE Email IN
(SELECT Email FROM Choice WHERE Choice='YES')"
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
conn.Open();
try
{
SqlCommand cmdIns = new SqlCommand(sqlIns, conn);
if (cmdIns.Parameters.compareValue("currentCompanyName", companyName))//how to compare?
{
//action here
}
else
{
//another action
}
cmdIns.ExecuteNonQuery();
cmdIns.Parameters.Clear();
cmdIns.Dispose();
cmdIns = null;
}
catch (Exception ex)
{
throw new Exception(ex.ToString(), ex);
}
finally
{
conn.Close();
}
我不知道如何比较从表中提取的值,我的代码中是否有任何语法或逻辑错误?
【问题讨论】:
-
但是你的
SqlCommand中没有定义参数? -
什么是cmdIns.Parameters.compareValue()方法?我不认为它存在。你的问题不清楚。
-
您似乎想将结果与其他公司名称进行比较?
-
是的,没错!我只想获得“选择”=“是”的公司名称
-
您好 Zeeshan,“cmdIns.Parameters.compareValue()”可能不存在,我只是不知道如何使条件出现。