2017-02-08 16 views
0

強く型付けされたデータセット行を保持するプロパティがあります。 データセットに挿入および更新手順を追加しました。 アダプターに既に存在する行を渡すと、情報が正常に更新されます。しかし、私は新しい行を作成する場合は、データベーステーブルに挿入されません。例外はスローされることはなく、返されるintは常に0です。新しい行は追加されません。強く型付けされたデータセットアダプタの更新では、新しい行が挿入されません。

private MyDataset.MyDatasetGetDataRow _row; 

private MyDataset.MyDatasetGetDataRow Rowa 
{ 
    get { return _row; } 
    set { _row = value; } 
} 

public void NewOne() 
{  
    MyDatasetTableAdapters.MyDatasetGetDataTableAdapter adapter = new MyDatasetTableAdapters.MyDatasetGetDataTableAdapter(); 
    MyDataset.MyDatasetGetDataDataTable tbl = adapter.GetData(0, 0); 
    MyDataset.MyDatasetGetDataRow row = tbl.NewMyDatasetGetDataRow(); 
    Rowa = row;  
} 

public int Save() 
{ 
    try 
    { 
     int a = -99; 
     using (MyDatasetTableAdapters.MyDatasetGetDataTableAdapter adapter = new MyDatasetTableAdapters.MyDatasetGetDataTableAdapter()) 
     { 
      a = adapter.Update(tbl); 
     } 
     return a; 
    } 
    catch (Exception ex) 
    { 
     throw new Exception("Error: It didn't save. (" + ex.Message + ")"); 
    } 

}

+0

新しいものは動作しません。アダプターが機能するには、テキストSQLステートメントが必要です。コードにはSQLがないので、Rowa /行は常に空です。したがって、読み込みが機能していないので、データを書き込んだかどうかは分かりません。 – jdweng

+0

アダプターには、データベースとストアード・プロシージャーへの接続を介して、選択、更新、および挿入のSQLステートメントが接続されています。私は、既存の行の更新は、しかし、新しいものが挿入されないことを述べているように。 Rowaはデータを持ち、存在し、nullではなく、更新はエラーではありません。単に0を返します。 –

+0

What ???あなたが投稿しなかった別の方法であなたのC#コードでそれをしない限り、接続はSQL文を作成しません。 – jdweng

答えて

0

行がテーブルに属していなかったので、データセットは、行が新しく追加されたことを知りませんでした。

関連する問題