2012-04-24 18 views
2

.mdbファイルへのDataAdapterとの接続を作成しましたが、insert、delete、およびupdateコマンドはnullで、使用できません。Insert、Delete、Updateコマンドはアダプタで構築されていません

なぜそれはそうであり、何が解決策ですか?

+1

のUpdateメソッドを使用してデータベース内のレコードを保存するには、あなたがそこに – las

+0

を使用しているいくつかのサンプルコードで問題を説明することができ、私は視覚的なデータでそれを構築しますadapter.iはコードを書かなかったことを意味します。ビジュアルスタジオdidn; t creat insertコマンド。 – Feri73

+0

あなたは何のエラーを出していますか、今何をしようとしていますか? – Ste

答えて

0

これを知るには、SqlCommandとSqlCommandBuilderの違いを理解する必要があります。

Commandオブジェクトは、スカラーまたは非クエリーコマンドをデータベースに実行するために使用されます。コマンドオブジェクトのCommandTextプロパティを、実行するSQL文に設定し、ExecuteScalarメソッドまたはExecuteNonQueryメソッドを使用して実行します。

CommandBuilderオブジェクトは、指定したSelectステートメントに基づいて、Update、Delete、およびInsert SQLステートメントを自動的に作成するために使用されます。 DataAdapterオブジェクトを宣言し、SelectCommand.CommandTextプロパティをSelect SQLステートメントに設定します。次に、CommandBuilderオブジェクトを宣言すると、CommandBuilderのコンストラクターパラメーターにdataadapterが含まれ、DataAdapterを実行するときに自動的に他のステートメントが作成されます。

例:

// SqlDataAdapterオブジェクト

using System.Data; 
using System.Data.SqlClient; 

class dd 
{ 
static void Main() 
{ 
     SqlConnection cn=new SqlConnection("server=.\SqlExpress;uid=sa;pwd=tiger;database=employeemaster"); 
     SqlDataAdapter da=new SqlDataAdapter("select no,name from employee",cn); 
     DataTable dt=new DataTable(); 
     da.Fill(dt); 

     //emp has 2 columns known as no and name. 

     //Initialize the SqlCommandBuilder. 
     SqlCommandBuilder cd=new SqlComandBuilder(da); 

     //create a DataRow 
     DataRow dr=dt.NewRow(); 
     dr["no"]=101; 
     dr["name"]="romil"; 
     //the row is temporarily saved 
     dt.Rows.Add(dr); 

     //save the Row permanently in database 


      da.Update(dt); 
    } 
} 
関連する問題