2016-10-10 3 views
0

Visual Studioの比較的初心者ユーザーとしてstackoverflowに参加しましたが、私が持っている問題に質問に答えることができるようになることを願っています。グリッドビューのテキストボックスからSQL Serverデータベースの値を更新できません

私は確かに簡単ですが、現時点では、私たちのSQL ServerのテーブルにバインドされているGridviewがあります。

私の問題は、内蔵のウィザードの助けを借りて生成されたgridviewにあります。私の更新SQL文は非常に単純で、カスタム1、次のとおりです。

UPDATE SMCsummove 
SET SubmitQty = @Textbox1 * - 1, HasBeenEdited = 'Y' 
WHERE (SMCPOinteger = @SMCPOinteger) AND (SMCproduct = @PartNo) 

今初心者であること、私はこの権利をやっている場合はかなり確実ではないけど、TextBox1を@ユーザーとして入力した値であり、自動生成された「編集」ボタンをクリックした後にテーブルを更新する新しい値。単に「更新」ボタンをクリックするだけで、GridviewはSubmitQty列にあった元の値に戻ります。

誰かが軽い光を放つことができ、大きな見落としを指摘することができれば、それは最も高く評価されます。

答えて

0

グリッドビューのコードの詳細を確認する必要がありますが、ポストバックが発生しているように見えます。これにより、gridviewが再びバインドされリセットされるように見えます。

私もこれにはかなり新しいだと私はgridviewsのための作品を発見したことは、このようなpageloadイベントを持つことです。

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 

      bindGridView(); 
     } 

    } 

その後の結合のための別々のステートメントを持っている(これは1つです私が使用しています:あなたが更新された値とのGridViewを再投入するレコードを更新した後、同様gridbindを呼び出す必要がありかもしれ

private void bindGridView() 
    { 
      string connectionString = WebConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString; 
      string selectSQL = String.Format("SQL Statement here"); 
      SqlConnection con = new SqlConnection(connectionString); 
      SqlCommand cmd = new SqlCommand(selectSQL, con); 
      SqlDataAdapter adapter = new SqlDataAdapter(cmd); 
      DataSet ds = new DataSet(); 

      adapter.Fill(ds, "Review"); 

      GridView1.DataSource = ds; 
      GridView1.DataBind(); 

    } 

関連する問題