2011-10-25 7 views
0

私はこのコードを持っていますが、これは私にこのエラーを与えています。私はこれを解決するために本当に難しい試みをしましたが、私は運が得られません。このメソッドは、select文、tablename、およびdatasetを与えることによって、mysqlからテーブルを更新するために使用されます。エラーは「更新はTableMapping ['tblapartments']またはDataTable 'tblapartments'を見つけることができません」mysqlテーブルを更新するとエラーが発生します

public bool UpdateDatabase(string SelectStat, string tablename, DataSet dataset) 
{ 
    try 
    { 
     MySqlDataAdapter da = new MySqlDataAdapter(SelectStat, _conn); 
     MySqlCommandBuilder MYCB = new MySqlCommandBuilder(da); 
     DataSet ds = dataset; 
     da.MissingSchemaAction = MissingSchemaAction.AddWithKey; 

     da.Update(ds, tablename); 
     MySqlConnection.ClearAllPools(); 
     return true; 
    } 
    catch (Exception ex) 
    { 
     return false; 
    } 

} 

これはメソッドの呼び出しに使用されるメソッド全体です。

DataTable dt = (DataTable)dtgApartList.DataSource; 
DataSet ds = GlobalVariables.Adap.GetTableCus("SELECT NameNo, MaintenanceFee, AdminFee FROM tblapartments WHERE BuildingID = '" + cmbBuildingName.SelectedValue.ToString() + "'"); 
ds.Tables[0].Merge(dt, false); 
GlobalVariables.Adap.UpdateDatabase("SELECT NameNo, MaintenanceFee, AdminFee FROM tblapartments WHERE BuildingID = '" + cmbBuildingName.SelectedValue.ToString() + "'", "tblapartments", ds); 
+1

であるあなたはこれを呼び出すコードを一覧表示することができますか? – Poodlehat

+0

私はeditidメソッドをどのように呼び出すかを示します – owen

答えて

1

私はここにテーブルをMAPPするために必要な、私は間違って何をやっていた考え出したが、固定されたコードは

public bool UpdateDatabase(string SelectStat, string tablename, DataSet dataset) 
{ 
    try 
    { 
     MySqlDataAdapter da = new MySqlDataAdapter(SelectStat, _conn); 
     MySqlCommandBuilder MYCB = new MySqlCommandBuilder(da); 
     DataSet ds = dataset; 
     da.MissingSchemaAction = MissingSchemaAction.AddWithKey; 
     //Added this 
     ITableMapping testing = da.TableMappings.Add(tablename,"Table"); 
     da.Update(ds, tablename); 
     MySqlConnection.ClearAllPools(); 
     return true; 
    } 
    catch (Exception ex) 
    { 
     return false; 
    } 

} 
関連する問題