以下是一道本人昨天的考试题:
在Web程序中完成Access数据库的删除功能,并在完成删除后弹出对话框提示删除成功。
删除语句我写出来了,就是不知怎么判断数据已被删除。
请问各位:怎么判断数据已被删除?
private void Button2_Click(object sender, System.EventArgs e)
{
string connString=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Server.MapPath(@".\db1.mdb");
OleDbConnection conn=new OleDbConnection(connString); string sql="DELETE from table1 where id="+TextBox1.Text+""; //?
OleDbCommand cmd=new OleDbCommand(sql,conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close(); conn.Close();
string sql2="select * from table1";
OleDbCommand cmd2=new OleDbCommand(sql2,conn);
conn.Open();
this.DataGrid2.DataSource=cmd2.ExecuteReader();
this.DataGrid2.DataBind();
conn.Close(); }
在Web程序中完成Access数据库的删除功能,并在完成删除后弹出对话框提示删除成功。
删除语句我写出来了,就是不知怎么判断数据已被删除。
请问各位:怎么判断数据已被删除?
private void Button2_Click(object sender, System.EventArgs e)
{
string connString=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Server.MapPath(@".\db1.mdb");
OleDbConnection conn=new OleDbConnection(connString); string sql="DELETE from table1 where id="+TextBox1.Text+""; //?
OleDbCommand cmd=new OleDbCommand(sql,conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close(); conn.Close();
string sql2="select * from table1";
OleDbCommand cmd2=new OleDbCommand(sql2,conn);
conn.Open();
this.DataGrid2.DataSource=cmd2.ExecuteReader();
this.DataGrid2.DataBind();
conn.Close(); }
try
{
OleDbCommand cmd=new OleDbCommand(sql,conn);
conn.Open();
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close(); }如果没有删除成功,一定会报错的。MessageBox.Show(ex.Message)会报出异常情况,如果没有报错就表示一定删除成功了。
int i=conver.toint32( cmd.ExecuteNonQuery()); 如果i>0则删除成功,否则失败!
cmd.ExecuteNonQuery();
int i=Convert.ToInt32(cmd.ExecuteNonQuery());
if(i>0)
TextBox7.Text="成功";
else
TextBox7.Text="删除未成功"; conn.Close();
我遇到两个问题:
1。不知道MessageBox在WEB程序中用何种命名空间(所以我用了一个TextBox代替)
2。以上程序无论删除是否成功,它都会说删除未成功。
而且最好if和else的方法都加上{}。
最后web没有MessageBox,可以用脚本来弹。
删除一个数据库里有的数据时,实际上已经成功了,但它还是提示删除未成功。
还有就是本人还是菜鸟,不知怎么跟怎么跟代码。
所以我用了下面这个方法
if(i>0)
{TextBox7.Text=i.ToString()+"成功";}
else
{TextBox7.Text=i.ToString()+"删除未成功";}
结果得到的i值无论实际上删除是否成功都是0