用C#语言使用一个for循环连续插入多条数据到数据库中
时间: 2023-06-18 20:07:51 浏览: 122
假设你已经建立了一个连接到数据库的对象 `SqlConnection conn`,并且已经定义了一个 SQL 插入语句 `string sqlInsert`,你可以使用以下代码来连续插入多条数据:
```
// 假设你有一个数组 arr 存储了多条数据
for (int i = 0; i < arr.Length; i++) {
SqlCommand cmd = new SqlCommand(sqlInsert, conn);
// 设置 SQL 插入语句中的参数,假设参数名为 "@param1" 和 "@param2"
cmd.Parameters.AddWithValue("@param1", arr[i].param1);
cmd.Parameters.AddWithValue("@param2", arr[i].param2);
cmd.ExecuteNonQuery();
}
```
在这个例子中,我们使用了一个 for 循环来遍历数组 arr,每次循环都会执行一次 SQL 插入操作。在每次循环中,我们都会创建一个新的 SqlCommand 对象,并将 SQL 插入语句和连接对象传入。然后,我们设置 SQL 插入语句中的参数值,并调用 `ExecuteNonQuery()` 方法来执行 SQL 插入操作。注意,这个方法不会返回任何结果,它只会将数据插入到数据库中。
相关问题
C#中调用SunnyUI中UINavMenu控件,怎么把AddPage 窗体名称数据维护到表里,循环添加?
在C#中,如果你正在使用SunnyUI框架并且想要将UINavMenu的页面添加操作与数据库的数据持久化关联起来,可以按照以下步骤操作:
1. 首先,确保你已经有一个数据库连接以及对应的表结构,该表应该至少包含存储窗体名称的字段。
2. 在`AddPage`方法内部,获取到当前页的名称或者窗口标题(例如通过`this.Text`属性),然后创建一个新的数据实体对象,这个对象通常会有与数据库表字段相对应的属性。
```csharp
// 假设有一个名为NavMenuItem的类,其中包含Name属性对应数据库中的窗体名称字段
var menuItem = new NavMenuItem();
menuItem.Name = this.Text; // 获取窗体标题并赋值给Name
// 如果需要,还可以填充其他属性,比如页路径、ID等
```
3. 使用AOP(面向切面编程)、Repository模式或者直接在业务层处理,将新创建的菜单项实例保存到数据库中。这里举例使用Repository模式:
```csharp
using (var repository = new NavMenuRepository()) // 假设这是你的数据访问层
{
repository.Add(menuItem); // 调用保存方法将新的NavMenuItem添加到数据库
}
```
4. 循环添加时,你可以遍历需要添加的所有页面,并在每次迭代中重复上述过程:
```csharp
foreach (string pageTitle in PageTitlesToBeAdded)
{
var menuItem = new NavMenuItem { Name = pageTitle };
repository.Add(menuItem);
}
```
5. 完成所有添加后记得提交事务,如果有多条插入操作一起进行:
```csharp
repository.SaveChanges(); // 提交事务
```
阅读全文