2011-07-09 13 views
0

ASP.Net C#を使用してWebアプリケーションを開発しました。このアプリケーションでGridViewからASP.Netのデータベースにデータを保存および更新する方法は?

私は次のコードのようODBCDataAdapter使用して、データとそれを埋めるのGridViewがあります: -

protected void Page_Load(object sender, EventArgs e) 
{ 

ConnectionString1 = "DSN=DataSourceName;SRVR=Server;DB=Database;UID=User;PWD=Password;"; 

OdbcConnection1 = new OdbcConnection(ConnectionString1); 

try 
{ 
       OdbcConnection1.Open(); 

       CommandText1 = "SELECT * FROM TableName"; 

       DataSet1 = new DataSet(); 

       OdbcDataAdapter1 = new OdbcDataAdapter(CommandText1, OdbcConnection1); 

       OdbcCommandBuilder1 = new OdbcCommandBuilder(OdbcDataAdapter1); 

       OdbcDataAdapter1.Fill(DataSet1, "TableName"); 

       DataSet1.AcceptChanges(); 

       myGridView.DataSource = DataSet1; 
       myGridView.DataMember = "TableName"; 

       myGridView.DataBind(); 
} 

catch (Exception Exception1) 
{ 
Response.Write("<br/>Exception1 Message: " + Exception1.Message); 
} 

OdbcConnection1.Close(); 

} 

このコードは正常に動作し、GridViewコントロールにデータセットからのデータをロードします。

私の問題は、GridViewでいくつかの変更を行い、ボタンクリックや特定の条件のイベントに応じて変更する必要があるDataSetを使用して、これらの変更を実際のデータベースに保存したいということです。

私は以下を使用してみますが、結果として0を返すように動作しませんでした。

OdbcDataAdapter1.UpdateCommand = new OdbcCommand( "UPDATE TableName"、OdbcConnection1);

  OdbcDataAdapter1.Fill(DataSet1,"TableName"); 

      int g = OdbcDataAdapter1.Update(DataSet1,"TableName"); 

      Response.Write("g: " + g); 

私はまた、次のことを試してみました: - 私は変更はGridViewの中に表示されますが、私は何も変更を見つけていないデータベースをチェックするたびとして

  OdbcCommandBuilder1 = new OdbcCommandBuilder(OdbcDataAdapter1); 

      try 
      { 
       int k = OdbcDataAdapter1.Update(DataSet1, "TableName"); 
       DataSet1.AcceptChanges(); 
       Response.Write("k: " + k); 
      } 
      catch (Exception Except) 
      { 
       Response.Write("Except: " + Except.Message); 
      } 

..

答えて

0

私は読む必要がありますC#、ASP.NET、およびADO.Netを使用して、基本的なデータベースのSQL操作(SELECT - INSERT - UPDATE - DELETE)を実行することについてのサンプルとコードサンプルがあります。 ODBCDataAdapterは、Disconnectedモードを使用する場合にそれを処理するための良い方法である必要があります。また、Onlineモードを使用する場合は、ODBCDataReaderが適切な方法です。

関連する問題