【发布时间】:2015-02-19 09:09:18
【问题描述】:
我正在开发一个简约的数据库界面,该界面从所有相关表中获取所有相关信息,并将该信息存储在本地数据表中,以便可以根据需要修改、更改、更新等信息,而无需维护与数据库的持续连接。
该方法完美运行,所有更改都反映并存储在表中,这很棒。
现在我需要知道如何将数据表中本地所做的更改反映到我从中获取表的数据库中。
在我看来,我读到的所有内容都在说“您需要保持连接才能做到这一点”,但因为对数据表进行更改可能需要一些时间,而且我听说最好的做法是只是建立一个连接,做你需要做的,然后离开,我在这里看到了一种冲突。
这是获取表格的代码:
public static DataTable GetTable( string Table ) {
string Query = "SELECT * FROM " + Table;
return SQLLib.GetDataTable( Query, null );
}
private static DataTable GetDataTable( string CMD, object[] Params ) {
DataSet DS = new DataSet( );
using ( MySqlConnection MSQCon = new MySqlConnection( SQLLib.sqlconstr ) ) {
try { MSQCon.Open( ); } catch ( MySqlException ) {
Console.WriteLine( "Failed to open SQL Connection" );
}
MySqlDataAdapter MSQDA = new MySqlDataAdapter( );
MySqlCommand MSQCom = new MySqlCommand( CMD, MSQCon );
if (Params != null) for ( int c = 0; c < Params.Length; c++ )
MSQCom.Parameters.AddWithValue( "@param_val_" + ( c + 1 ), Params[c] );
MSQCom.CommandType = CommandType.Text;
MSQDA.SelectCommand = MSQCom;
MSQDA.Fill( DS );
MSQCon.Close( );
} try { return DS.Tables[0];
} catch ( IndexOutOfRangeException ) { return SQLLib.GetDataTable( CMD, Params ); }
}
那么,现在有没有一种方法可以让我使用我在本地保存的 DataTable 更新源表,直到它准备好提交?
【问题讨论】:
标签: c# mysql .net database datatable