c# - 这是向 SQL Server 表添加多行的最快方法吗
问题描述
我有一个一般性问题,我没有找到任何答案。我认为问这个问题很重要,这样我就知道如何构建整个应用程序,所以我从一开始就走在正确的轨道上。
我相信在一个查询命令中添加多行是实用/有效的。下面的代码一次在 5 列中添加 3 行和 5 个值。
另请参阅此表的图像:
我现在的问题是。该表稍后将有 100,000 列,我正在考虑例如一次添加 10 行。现在想象这cmdString
将是非常长的。
我的问题很简单。当我在一个查询中添加这么多信息时,这可以吗?或者这是错误的方式?(这是最快的方法还是我应该以其他方式执行以下代码?)
谢谢!
void addMultipleRowWithValuesSQL()
{
String cmdString = "INSERT INTO DateTimes(DateTime,F1,F2,G1,G2) " +
"VALUES" +
"('201005011715','1',2,'3','4')," +
"('201005011730','5',6,'7','8')," +
"('201005011745','9',10,'11','12');";
using (SqlConnection conn = new SqlConnection(GetConnectionString()))
{
using (SqlCommand comm = new SqlCommand(cmdString))
{
try
{
comm.Connection = conn;
conn.Open();
int i = comm.ExecuteNonQuery();
if (i != 0)
{
MessageBox.Show(i + "Rows Added");
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
}
}
}
static private string GetConnectionString()
{
return "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\andre\\source\\repos\\TestDatabaseCreation\\DatabaseTest.mdf;Integrated Security=True;Connect Timeout=30";
}
解决方案
他们称之为Bulk Insert,这里的这个链接将为您提供一个可以解释的好例子。 从 C# 批量插入 SQL Server
推荐阅读
- laravel - Laravel 最佳实践从外部 API 监听 JSON 数据
- python - 如何在 python 类中添加可选参数?
- android - Google Play 控制台 OnePlatformRpcException
- java - 使用 apache Tika 进行语言检测
- arrays - 有条件地更新哈希数组中的值
- javascript - 如何仅选择透明背景矩形中的笔触?
- azure - Azure B2C 使用策略配置 OTP 参数
- postfix-mta - 雅虎的临时封锁
- excel - 带有 3 个变量的 IF 语句并显示空白
- javascript - 如何同时发布多个axios请求?