【发布时间】:2019-05-04 02:47:19
【问题描述】:
我在 da.Fill(ds) 中遇到错误。我想在保存表格之前检查 CNIC。如果存在,则应提交表单,否则应显示 CNIC 无效。
public partial class ReportCrime : System.Web.UI.Page
{
MySqlConnection con = new MySqlConnection();
MySqlCommand cmd = new MySqlCommand();
DataSet ds = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
con.ConnectionString = "Data Source=localhost;Initial Catalog=fir;Integrated Security=True;User Name=root;Password=;";
con.Open();
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
MySqlCommand cmd = new MySqlCommand("select count(CNIC) from reportcrime where CNIC=(txtCnicNo.Text.ToString())", con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(ds);
int i = ds.Tables[0].Rows.Count;
if (i > 0)
{
MySqlCommand acmd = new MySqlCommand("insert into reportcrime" + "(Name,CNIC,Phone1,Phone2,Email,Gender,City,Address,CrimeType,CrimeDetail)values(@Name,@CNICNO,@ContactNo.1,@ContactNo.2,@EmailAddress,@Gender,@CityName,@PostalAddress,@CrimeType,@CrimeDetail)", con);
acmd.Parameters.AddWithValue("@Name", txtName.Text);
acmd.Parameters.AddWithValue("@CNICNO", txtCnicNo.Text.ToString());
acmd.Parameters.AddWithValue("@ContactNo.1", txtcontactNo1.Text);
acmd.Parameters.AddWithValue("@ContactNo.2", txtcontactNo2.Text);
acmd.Parameters.AddWithValue("@EmailAddress", txtEmail.Text);
acmd.Parameters.AddWithValue("@Gender", ddlGender.SelectedItem.Value);
acmd.Parameters.AddWithValue("@CityName", txtCityName.Text);
acmd.Parameters.AddWithValue("@PostalAddress", txtaddress.Text);
acmd.Parameters.AddWithValue("@CrimeType", ddlCrimeType.SelectedItem.Value);
acmd.Parameters.AddWithValue("@CrimeDetail", txtCrimeDetails.Text);
acmd.ExecuteNonQuery();
}
else
{
MessageBox.Show("CNIC is not Valid");
}
}
}
【问题讨论】:
-
txtCnicNo.Text.ToString()看起来不像任何 SQL 方言。也许您打算将该值作为参数传递给查询。 -
我怎样才能通过??可以举个例子吗?
-
一个例子?你应该可以在
protected void btnSubmit_Click(object sender, EventArgs e)中找到几个。在string上使用.ToString()有点多余。