***项目开发记录
有表的情况
INSERT INTO 表(val1,val2) SELECT val1,val2 FROM 表
没表的情况
SELECT * into _表 from 表
更新
UPDATE 表 SET UrlId=kd.id
FROM Keywords kd WHERE kd
(2)C#批量导数
采用.NET 2.0中的 SqlBulkCopy ,具体代码
public bool BulkToDB(DataTable dt, Dictionary<string, string> ColumnMappings = null)
{
SqlBulkCopy bulkCopy = new SqlBulkCopy(LitConn.Conn);
bulkCopy.DestinationTableName = dt.TableName;
bulkCopy.BatchSize = dt.Rows.Count;
if (ColumnMappings != null)
foreach (string str in ColumnMappings.Keys)
{
bulkCopy.ColumnMappings.Add(str, ColumnMappings[str]);
}
bool IsResult = true;
try
{
LitConn.Open();
if (dt != null && dt.Rows.Count != 0)
bulkCopy.WriteToServer(dt);
}
catch (Exception e)
{
ErrMsg = e.Message;
IsResult = false;
}
finally
{
LitConn.Close();
if (bulkCopy != null)
bulkCopy.Close();
}
return IsResult;
}
注意:如果表结果完全一样,不要指定ColumnMappings,否则要一一指定
3,事件
没有采用数据分离, 数据采集和显示,导致网站无法打开, 采集数据读写分离后,写时又因数据录入时业务及事物处理,导致批量录入时超时及录入比较慢
浙公网安备 33010602011771号