2011-07-02 4 views
-1

新しい行をデータベースに追加しようとしましたが、新しい行は保存されますが、プログラムを閉じると、消えた。追加された新しい行は、C#とSQLサーバーを使用して基底のデータベースに保存されませんでした

private void Dep_Add_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     SqlCommandBuilder cb = new SqlCommandBuilder(Dep_da); 

     DataRow dRow = Dep_ds.Tables["Department"].NewRow(); 
     dRow[1] = Dep_Name.Text; 
     Dep_ds.Tables["Department"].Rows.Add(dRow); 

     Dep_MaxRows = Dep_MaxRows + 1; 
     Dep_inc = Dep_MaxRows - 1; 

     Dep_da.Update(Dep_ds,"Department"); 
    } 
    catch (Exception exceptionObject) 
    { 
     MessageBox.Show(exceptionObject.Message); 
    } 

は、だから私は、誰かがあなたは多くのコンテキスト情報を与えていない私に

+0

エラーメッセージなどは表示されません。 –

+0

いいえメッセージが表示されません – AbdelMalek

+2

ソリューションとフォルダを確認します。添付Dbのためですか?これらは使用前にbinフォルダにコピー(上書き)されます。 –

答えて

1

を助けることができると思いますので、これは

はあなたがビジュアル内からこれをやっている場合は...推測のビットですStudioを起動し、ローカルの(接続された)データベースに書き込んでいるときは、プログラムを実行するたびにローカルデータベースがプロジェクトからbinフォルダにコピーされるため、データベースの同じコピーを実行するたびに上書きされます最後の実行時に変更されたdb。

エクスプローラまたはコマンドラインからexeを実行して、このような場合にテストすることができます。

1

すでに少し質問がありますが、この質問はhereです。

私は前の質問であなたに答えを出しました。これはSqlDataAdapter.Updateコマンドを使用することです。あなたはここでそれをやっていますが、コードの残りの部分を投稿していないので、あなたが何かを変更したかどうかわかりません。

+0

ごめんなさい、ちょっと混乱しました – AbdelMalek

+0

別のコードが見つかりましたが、 'Index out of range'のように表示されませんでしたが、新しいレコードが保存されません。 – AbdelMalek

+0

何か変更しましたか?それ以外の場合はコード、またはDep_Add_Clickメソッドだけを使用しますか? – Tim

0

おそらくDataSet.Tables [0] .AcceptChanges()メソッドを呼び出しますか?

関連する問題