c# KILL問題

2011-06-02 1:39 am
string datastr = "server=jjchick;database=master;uid=sa;pwd=";
SqlConnection conn = new SqlConnection(datastr); conn.Open();
//创建一个表 把所有数据库的线程都记录进去
string strsql = "use master Select spid FROM sysprocesses ,sysdatabases Where sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='property'";
SqlDataAdapter da = new SqlDataAdapter(strsql, conn);
DataTable spidtable = new DataTable();
da.Fill(spidtable); SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text; cmd.Connection = conn;
MessageBox.Show(spidtable.Rows[0][0].ToString());
//杀掉所有线程 for (int irow = 0; irow < spidtable.Rows.Count - 1; irow++)
{
cmd.CommandText = "kill" + spidtable.Rows[irow][0].ToString();
cmd.ExecuteNonQuery();
}
conn.Close();
conn.Dispose(); 问题补充: 其实如果我的程序不进行其它动作是可以杀掉并储存的..
但只要我读一下其它表之后.他就会弹出提示框 "未能找到储存过程kill 53". 有谁可以99 我~

回答 (2)

2011-06-02 8:49 am
✔ 最佳答案
試將 cmd.CommandType = CommandType.Text;
放於 for loop 迴圈之內。

{
cmd.CommandType = CommandType.Text;
cmd.CommandText = "kill" + spidtable.Rows[irow][0].ToString();
cmd.ExecuteNonQuery();
}

2011-06-03 01:30:23 補充:
會否是 kill 後沒有留空,"kill " + spidtable.Rows[irow][0].ToString();
2011-06-02 7:03 pm
咁放都冇用...佢係循環內外都係一定要執行..所以冇咩作用..


收錄日期: 2021-04-26 13:37:02
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20110601000051KK00600

檢視 Wayback Machine 備份