如果使用 C# 的 MS 访问数据库中存在数据,则发出警报消息
本文关键字:数据 消息 存在 MS 数据库 访问 如果 | 更新日期: 2023-09-27 18:27:27
OleDbCommand cmd1 = new OleDbCommand("select * from patient_det", con);
int count = (int)cmd1.ExecuteScalar();
if (count > 0)
{
Response.Write("<script>alert('Data Existed!!')</script>");
}
else
{
OleDbCommand cmd2 = new OleDbCommand("insert into patient_det values('" + st1 + "' , '" + i1 + "' , '" + i2 + "' , '" + i3 + "' , '" + p1 + "')", con);
cmd2.ExecuteNonQuery();
int temp = cmd2.ExecuteNonQuery();
Response.Write("<script>alert('Registered Successfully!!')</script>");
}
此代码显示错误,例如
指定的强制转换无效
如何解决?
问题可能出在以下行:
int count = (int)cmd1.ExecuteScalar();
这是 ExecuteScalar 的签名:
public override object ExecuteScalar()
使用 ExecuteScalar 的查询"从patient_det中选择 *"将返回表第一行第一列上的元素,因此返回的数据类型将是表之一。
我找到了这个问题的解决方案。
int Count;
con.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM TABLENAME WHERE COLUMNNAME= '" + TXT1.Text + "'", con);
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
if (dt.Rows.Count == 0)
{
//Insert Query
Response.Write("<script>alert('Added Successfully!!')</script>");
}else
{
Response.Write("<script>alert('Data is Exist!!')</script>");
}