大数据量的物理表(10-100W条记录) 快速通过 数据适配器进行数据更新 前掉:大数据量的物理表(10-100W条记录) 需解决问题:快速通过 数据适配器进行数据更新 (或者用其它的方法) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接用SQL操作数据库,没有理由全部LOAD上来。 对于 经常用于 条件判断where后的字段建立 索引可以 加快速度 在这里我贴出原先的代码 #region 更新数据集部分,新版本 2006-1-16 public string UpdateDataSet(string userName,string tableName,string filterStr,string whereSql,string orderSql, DataTable dataTable) { string rtnstr=""; string sqlStr=createSqlStr(tableName,filterStr,whereSql,orderSql);//对分段的SQL进行组合 SqlConnection conn = new SqlConnection(m_conn_str); SqlDataAdapter da=new SqlDataAdapter(sqlStr,conn); try { conn.Open(); SqlCommandBuilder bldr = new SqlCommandBuilder(da); da.SelectCommand.CommandText=sqlStr; if (dataTable.Rows[0].RowState==DataRowState.Added) { da.InsertCommand=bldr.GetInsertCommand(); da.InsertCommand.CommandTimeout=Timeout; } if (dataTable.Rows[0].RowState==DataRowState.Modified) { da.UpdateCommand=bldr.GetUpdateCommand(); da.UpdateCommand.CommandTimeout=Timeout; } if (dataTable.Rows[0].RowState==DataRowState.Deleted) { da.DeleteCommand=bldr.GetDeleteCommand(); da.DeleteCommand.CommandTimeout=Timeout; } int count=da.Update(dataTable); return "000000"; } catch(Exception ex) { rtnstr="999999"+ex.Message; return rtnstr; } finally { conn.Close(); da.Dispose(); dataTable.Dispose(); dataTable=null; } } #endregion 放弃SqlCommandBuilder,自己写update 语句效率会高些! 简单的问题 c#怎么实现呢? wuyazhe正则强人表达式帮助. C#开始任务栏自动隐藏 [求助]问个问题,就是怎么把自己写的自定义控件添加到工具里面?具体点! windows资源管理器!!! 有没有C#开发的MSN源程序??? 有哪位高手知道.net开发的OA产品,分不够可以再加!! 如何在C#中格式化string 300分!C#面试笔试题搜集!截止日期22日! 哪位大侠能够提供OutlookBar控件的C#实现 如何防止控件或者窗体对象被钩子截获,然后被修改属性信息 谁帮我看一下下面的存储过程是什么意思?
建立 索引可以 加快速度
public string UpdateDataSet(string userName,string tableName,string filterStr,string whereSql,string orderSql,
DataTable dataTable)
{
string rtnstr="";
string sqlStr=createSqlStr(tableName,filterStr,whereSql,orderSql);//对分段的SQL进行组合
SqlConnection conn = new SqlConnection(m_conn_str);
SqlDataAdapter da=new SqlDataAdapter(sqlStr,conn);
try
{
conn.Open();
SqlCommandBuilder bldr = new SqlCommandBuilder(da);
da.SelectCommand.CommandText=sqlStr;
if (dataTable.Rows[0].RowState==DataRowState.Added)
{
da.InsertCommand=bldr.GetInsertCommand();
da.InsertCommand.CommandTimeout=Timeout;
}
if (dataTable.Rows[0].RowState==DataRowState.Modified)
{
da.UpdateCommand=bldr.GetUpdateCommand();
da.UpdateCommand.CommandTimeout=Timeout;
}
if (dataTable.Rows[0].RowState==DataRowState.Deleted)
{
da.DeleteCommand=bldr.GetDeleteCommand();
da.DeleteCommand.CommandTimeout=Timeout;
}
int count=da.Update(dataTable); return "000000";
}
catch(Exception ex)
{
rtnstr="999999"+ex.Message;
return rtnstr;
}
finally
{
conn.Close();
da.Dispose();
dataTable.Dispose();
dataTable=null;
}
}
#endregion