Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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
请帮助我执行以下sql查询_Sql_Mysql - Fatal编程技术网

请帮助我执行以下sql查询

请帮助我执行以下sql查询,sql,mysql,Sql,Mysql,有人能纠正我下面的疑问吗,我是软件开发领域的新手, 我将一个逗号分隔形式的字符串生成器对象添加到我的查询中,但它不会生成所需的结果qyery如下所示 string cmd=“从[placed_student]中选择*,其中passout_year=@passout和company_id=@companyId,course_id=@courseId和branch_id位于(“+sb+”)” 你的问题在于: AND branch_id IN('" + sb + "')" 您将得到如下查询: ...

有人能纠正我下面的疑问吗,我是软件开发领域的新手, 我将一个逗号分隔形式的字符串生成器对象添加到我的查询中,但它不会生成所需的结果qyery如下所示 string cmd=“从[placed_student]中选择*,其中passout_year=@passout和company_id=@companyId,course_id=@courseId和branch_id位于(“+sb+”)”


你的问题在于:

AND branch_id IN('" + sb + "')"
您将得到如下查询:

... AND branch_id IN('1,2,3,')
如果branch_id列是一个整数,则不应引用它,并且插入逗号的方式应稍有不同,以避免出现尾随逗号,例如:

StringBuilder sb = new StringBuilder();
String sep = "";
foreach (ListItem li in branch.Items) {
    if (li.Selected == true) {
        sb.Append (sep + Convert.ToInt32(li.Value));
        sep = ",";
    }
}
String cmd = "SELECT * FROM [placed_student] " +
      "WHERE passout_year = @passout " +
      "AND company_id = @companyId " +
      "AND course_id = @courseId " +
      "AND branch_id IN (" + sb + ")";
这是通过将初始分隔符设置为空字符串,然后在添加每个项目后设置为逗号来实现的。所以,当添加A,B和C时,会得到“A”,“A,B”和“A,B,C”。我还删除了对整数的错误引号

您可能还需要了解没有选择任何项目的情况,否则您将导致:

... AND branch_id IN ()
... AND branch_id IN ()