ADO.NET 学习笔记(十五) 小结注意点

1、
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
记得要添加至Main函数

2、
DataSet中存放的是内存中的数据
注意区别内存中的数据与数据库中的数据
_5_ADO.Net_类型化DataSet登录.DataSetLogin.T_MembersRow rowError = usersTable[0];
MessageBox.Show(rowError.ErrorTimes.ToString());
adapterError.IncErrorTimes(rowError.Id);
//上面虽然Inc了ErrorTimes,但是操作的是数据库中的ErrorTimes
//下面输出的是与上面相同的DataSet存放的ErrorTimes
MessageBox.Show(rowError.ErrorTimes.ToString());
//两次输出的结果是相同的,要想第二次输出的是数据库中而非内存中(DataSet)的数据,记得要先重新GetData()获取数据库中的ErrorTimes。

3、
导入数据的优化处理
Stopwatch mySW = new Stopwatch();
mySW.Start();
T_MembersTableAdapter adapterInc = new T_MembersTableAdapter();
adapterInc.Connection.Open();
for (int i = 0; i <= 2000; i++)
{
adapterInc.Insert("wxx" + i.ToString(), "123", 0);
}
adapterInc.Connection.Close();
mySW.Stop();

MessageBox.Show(mySW.Elapsed.ToString());
批量操作前开启连接
批量操作结束后关闭连接可以提高批量操作的效率

你可能感兴趣的:(.net)