2012-04-13 10 views
0

これはほとんどの人にとって非常に基本的な質問であることを知っているので、事前に謝罪しますが、私が必要とする関連情報を見つけるのは本当に苦労しています。私は正しい方向へ。DatagridからSQL Serverデータベースにデータを戻す

私はwinformsアプリケーションとSQLserverデータベースを持っています。私は、データベースからのデータを使って、さまざまなコントロール(DataGridを含む)をポーリングする方法を知っています。しかし、私が苦労しているのは、ユーザーがSQL Serverデータベースに戻ってデータグリッド内のデータを操作する方法です。

また、私はテキストボックスからデータを取り出し、TSQLを使用してデータベースに戻す方法を知っていますが、DataGridは私に言います。データバインディングとは何かが分かっていますが、それほど進歩はありません。ここで

は私が現時点でデータグリッドを移入しています方法です:私は、さまざまなリソースを検索したが、ひどくusedful何も見つかっていない

string sqlText = "SELECT * FROM tblCaseTypes;"; 
string conStr = cConnectionString.BuildConnectionString(); 
SqlConnection linkToDB = new SqlConnection(conStr); 
SqlCommand sqlCom = new SqlCommand(sqlText, linkToDB); 
SqlDataAdapter myAdapter = new SqlDataAdapter(sqlCom); 
myAdapter.Fill(tsh); 
dataTimesheet.DataSource = tsh; 

。誰もが、それが来たsqlserverデータベースに戻って投稿されたDataGridのユーザー入力データを取得する方法についての良い(初心者)の記事の方向に私を指すことができますか?ここで

答えて

1

を使用しているどのような言語と言って、あなたの質問にタグを使用する必要があります。
この場合、と同じSqlCommandを使用して新しいSqlDataAdapterを作成して更新できますが、Fillメソッドを使用する代わりに、グリッドのDataSourceから抽出したDataTableまたはDataSetを渡すUpdateメソッドを使用します。 Updateメソッドの実行前に、あなたはSqlDataAdapterオブジェクトに適切なINSERTを構築するための負担を渡すこの方法では、レコードに

DataTable dt = dataTimesheet.DataSource as DataTable; 
string sqlText = "SELECT * FROM tblCaseTypes;"; 
string conStr = cConnectionString.BuildConnectionString(); 
SqlConnection linkToDB = new SqlConnection(conStr); 
SqlDataAdapter myAdapter = new SqlDataAdapter(); 
myAdapter.SelectCommand = new SqlCommand(sqlText, linkToDB); 
myAdapter.Update(dt); 

を取得するために使用したのと同じSqlCommandオブジェクトにデータアダプターのプロパティでSelectCommandを設定し、DELETEとUPDATEのSqlCommandデータベースを更新する必要があります。

ただし、INSERT、UPDATE、およびDELETE SQLコマンドを構築するには、SqlDataAdapterが内部的にSelectCommandを実行する必要があります。その結果、パフォーマンスが低下する可能性があります。
Update database from DataGridView
How To Update a SQL Server Database by Using the SqlDataAdapter Object in Visual C# .NET
DbDataAdapter.Update Method

0

は、基本的にはあなたが必要あなたの

Sub ItemsGrid_Update(sender As Object, e As DataGridCommandEventArgs) 

方法で次に

OnEditCommand="ItemsGrid_Edit" 

を必要とするデータグリッドから

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.updatecommand.aspx

を更新を行う方法についてのかなり基本的な例ですアイテムをテキストボックスにキャストして値を取得するS

Dim qtyText As TextBox = CType(e.Item.Cells(3).Controls(0), TextBox) 

次に、あなたのSQL UPDATE

ああでそれらの値を使用することができ、これは今まで多くのユーザーによって使用されようとしている場合、あなたはおそらく、ストアドプロシージャまたはLINQのではなく、まっすぐなSQLを使用する必要があります。

また、上記のコードはVB.netで、私はtsh varは、データセットまたはデータテーブルであるという仮定から始めるあなたが

+0

オリジナルのポストは、[C#]のタグを持っている - しかし、おかげでとにかく – PJW

1

あなたを:、あなたのINSERTを指定してDELETE、およびUPDATEが明示的にあなたのためのSqlDataAdapter

いくつかの参照のInsertCommandは、DeleteCommandのとUpdateCommandのプロパティに割り当てるコマンドを、最適なパフォーマンスを実現するために、アダプタにinsert/update/deleteコマンドを実装する必要があります。

myAdapter.InsertCommand = new SqlCommand("INSERT INTO yourTable VALUES(@param1, @param2)", conn); 
myAdapter.InsertCommand.Parameters.Add("@param1",...); 

「更新」および「削除」コマンドと同じことを実行してください。次に、アダプタを使用してDataSetを塗りつぶし、DataGridのデータソースとして作成します。

DataSet ds = new DataSet(); 
myAdapter.Fill(ds); 
dataGrid1.DataSource = ds; 

変更をデータベースに送信する場合は、myAdapter.Updateメソッドを呼び出すことができます。

myAdapter.Update(ds); 

ここに素敵な記事:Add, Edit, and Delete in DataGridView

関連する問題