簡體   English   中英

輸入無效-格式字符串ASP.NET

[英]Invalid input - format string ASP.NET

您好,我是ASP.NET編程的新手

下拉列表代碼:

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表單外部的TxtBoxes)Dropdownlist列表按我的預期工作(用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 =“ + Convert.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();

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM