输入格式字符串ASP.NET无效
本文关键字:NET 无效 ASP 字符串 格式 输入 | 更新日期: 2023-09-27 17:53:25
大家好,我是ASP新手。网络编程
Dropdownlist代码:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection test = new SqlConnection("Data Source=MICHAŁ-KOMPUTER;Initial Catalog=ProjektNet_s10772;Integrated Security=True");
SqlCommand com;
string str;
test.Open();
str = "Select * from Klient Where Klient_ID='" + DropDownList1.Text.Trim() + "'";
com = new SqlCommand(str, test);
SqlDataReader reader = com.ExecuteReader();
if (reader.Read())
{
txtimie2.Text = reader["Imie"].ToString();
txtnazwisko2.Text = reader["Nazwisko"].ToString();
txtemail2.Text = reader["Adres_Email"].ToString();
txttelefon2.Text = reader["Telefon"].ToString();
txtmiasto2.Text = reader["Miasto"].ToString();
reader.Close();
test.Close();
}
}
更新代码 protected void btnedytuj1_Click(object sender, EventArgs e)
{
SqlConnection edytuj = new SqlConnection("Data Source=MICHAŁ-KOMPUTER;Initial Catalog=ProjektNet_s10772;Integrated Security=True");
{
SqlCommand cmd = new SqlCommand("Update Klient SET Imie='"+txtimie2.Text+"', Nazwisko='"+txtNazwisko+"', Adres_Email='"+txtemail2+"', Telefon='"+txttelefon2+"', Miasto='"+txtmiasto2+"' WHERE Klient_ID='"+Convert.ToInt32 (txtmiasto2.Text).ToString()+"'", edytuj);
edytuj.Open();
cmd.ExecuteNonQuery();
edytuj.Close();
GridView3.DataBind();
}
}
我要做的是:我试图更新我的GrindView表单(通过使用位于GrindView表单外的txtbox)下拉列表列表是我所期望的工作(从Grindview完成日期的文本框)-然而更新按钮不是。当我运行这个更新的代码形式,我得到
无效的输入格式字符串
Row 141: SqlCommand cmd = new SqlCommand("Update Klient SET Imie='"
+txtimie2.Text+"', Nazwisko='"+txtNazwisko+"', Adres_Email='"+txtemail2+"', Telefon='"
+txttelefon2+"', Miasto='"+txtmiasto2
+"' WHERE Klient_ID='"+Convert.ToInt32 (txtmiasto2.Text).ToString()+"'", edytuj);
有人能帮帮我吗?谢谢
您应该处理以下代码:
using (SqlConnection edytuj = new SqlConnection("Data Source=MICHAŁ-KOMPUTER;Initial Catalog=ProjektNet_s10772;Integrated Security=True"))
using (SqlCommand cmd = new SqlCommand("Update Klient SET Imie=@imie, Nazwisko=@nazwisko, Adres_Email=@email, Telefon=@telefon, Miasto=@miasto WHERE Klient_ID=@id", edytuj))
{
cmd.Parameters.AddWithValue("@imie", txtimie2.Text);
cmd.Parameters.AddWithValue("@nazwisko", txtNazwisko.Text);
cmd.Parameters.AddWithValue("@email", txtemail2.Text);
cmd.Parameters.AddWithValue("@telefon", txttelefon2.Text);
cmd.Parameters.AddWithValue("@miasto", txtmiasto2.Text);
cmd.Parameters.AddWithValue("@id", ""); //set proper id
cmd.ExecuteNonQuery();
GridView3.DataBind();
}
哦,整数类型的值不能使用单引号
。
Klient_ID = " +转换。ToInt32 (txtmiasto2.Text) .ToString () + " "
好了,问题解决了,谢谢大家的回答:
代码:SqlConnection edytuj = new SqlConnection("Data Source=MICHAŁ-KOMPUTER;Initial Catalog=ProjektNet_s10772;Integrated Security=True");
{
SqlCommand xp = new SqlCommand("Update Klient SET Imie = @imie, Nazwisko = @Nazwisko, Adres_Email = @Adres_Email, Telefon = @Telefon, Miasto= @Miasto Where Klient_ID = @Klient_ID", edytuj);
xp.Parameters.AddWithValue("@Imie", txtimie2.Text);
xp.Parameters.AddWithValue("@Nazwisko", txtnazwisko2.Text);
xp.Parameters.AddWithValue("@Adres_Email", txtemail2.Text);
xp.Parameters.AddWithValue("@Telefon", txttelefon2.Text);
xp.Parameters.AddWithValue("@Miasto", txtmiasto2.Text);
xp.Parameters.AddWithValue("@Klient_ID", DropDownList1.Text.Trim());
edytuj.Open();
xp.ExecuteNonQuery();
edytuj.Close();
GridView3.DataBind();
}