日期:2014-05-18  浏览次数:20742 次

求教,关于删除数据库中整表的问题
求教各位大侠,小弟使用下列语句执行 对于 以等于textBox1.Text 为表名 的表进行删除操作,为啥执行后,该表还在呢?

string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Application.StartupPath + @"\db1.mdb";
  OleDbConnection conn = new OleDbConnection();
  String str = "./db1.mdb";
  OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.jet.OLEDB.4.0;Data Source=" + str + ";User ID=admin;Password=;Jet OLEDB:Database Password=");
  try
  {
  OleDbcon.Open();
   

  DialogResult result = MessageBox.Show("难道你真的不要我了吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
  if (result == DialogResult.OK)
  {
  OleDbCommand cmd = new OleDbCommand("DROP TABLE "+ textBox1.Text +"", OleDbcon); 
  }

  }
  finally
  {
  OleDbcon.Close();
  }

------解决方案--------------------
OleDbCommand 没有执行 ExecuteNonQuery ,好好看看帮助行不行
------解决方案--------------------
在后面加一句
OleDbCommand cmd = new OleDbCommand("DROP TABLE "+ textBox1.Text +"", OleDbcon);
cmd.ExcuteNonQuery();
------解决方案--------------------
ExecuteNonQuery:
执行你的OleDbCommand 命令,并返回影响条数,若发生错误或者回滚则返回-1