SqlConnection conn2 = new SqlConnection((string)Application["sqlConnectionString"]);
conn2.Open();
string sql2 = "select FileName from BBS,Board where BoardName = '"+sel+"'";
SqlCommand cmd2 = new SqlCommand(sql2,conn2);
SqlDataReader reader2 = cmd2.ExecuteReader();
try
{
SqlCommand cmd;
string sql;
while(reader2.Read())
{
idxFileName = reader2["FileName"].ToString().Trim();
sql = "delete BBS where Board = '"+idxFileName+"'";
cmd = new SqlCommand(sql,conn2);
cmd.ExecuteNonQuery();
}
//cmd.Dispose();
}
catch
{
Response.Write("error in deleting bbs(filename) on database");
}
finally
{
reader2.Close();
cmd2.Dispose();
conn2.Close();
}现在要删除选定的filename 但是选出来的有多个filename 怎么来把这些一起删除

解决方案 »

  1.   

    select FileName from BBS,Board where BoardName in(One,Tow,Three......)
      

  2.   

    貌似这个方法没有用
    我现在的方法是
    SqlConnection conn2 = new SqlConnection((string)Application["sqlConnectionString"]);
    conn2.Open();
    //设置删除标记 把BBS(Status)中的Status设置为0
    string sql2 = "update BBS set Status = '0' where FileName in (select FileName from BBS,Board where BoardName = '"+sel+"')";
    SqlCommand cmd2 = new SqlCommand(sql2,conn2);
    cmd2.ExecuteNonQuery();
    try
    {
    string sql = "delete from BBS where Status = '0'";
    SqlCommand cmd = new SqlCommand(sql,conn2);
    cmd.ExecuteNonQuery();
    cmd.Dispose();
    }
    现在就是需要用reader读出来的记录 如何删除
      

  3.   

    try
    {
    SqlCommand cmd;
    string sql="";
    while(reader2.Read())
    {
    sql+=","+reader2["FileName"].ToString().Trim();
    }
    if (sql!="")
    {
    string strCom = "delete BBS where Board in ("+sql.Remove(0,1)+")";
    cmd = new SqlCommand(strCom ,conn2);
    cmd.ExecuteNonQuery();
    }
    //cmd.Dispose();
    }