2011-10-25 5 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; 
    } 

} 
관련 문제