ADO执行多条sql语句

 string connstr = "data source=WIN-10AFVI27V7T;initial catalog=School;user id=sa;password=admin;";
              using (SqlConnection conn = new SqlConnection(connstr))
              {
                  string sql = "select * from T_Class;select * from T_Student";
                  using (SqlCommand cmd = new SqlCommand(sql, conn))
                  {
                      conn.Open();
                      using (SqlDataReader reader = cmd.ExecuteReader())
                      {

 


                        #region 读取多个结果集的方法
                          //do···while    do先来读取第一个结果集  while(reader.NextResult())中判断是否还有一个结果集,如果有在do中再次读取第二个结果集,依次类推···
                          do
                          {
                              if (reader.HasRows)
                              {
                                  while (reader.Read())
                                  {
                                      for (int i = 0; i < reader.FieldCount; i++)
                                      {
                                          Response.Write(reader.GetValue(i));
                                      }
                                      Response.Write("<br/>");
                                  }
                              }
                          }
                          while (reader.NextResult());
                          #endregion

 

 

 

                          #region 读取一个结果集的方法
                          //if (reader.HasRows)
                          //{
                          //    while (reader.Read())
                          //    {
                          //        //内层循环获取列

                          //        for (int i = 0; i < reader.FieldCount; i++)
                          //        {
                          //            Response.Write(reader.GetValue(i));
                          //        }
                          //        Response.Write("<br/>");
                          //    }
                            
                          //    Response.Write("有查询结果集!");
                          //}
                          #endregion
                      }
                  }
              }

在Delphi中使用ADO(ActiveX Data Objects)执行多条SQL语句通常涉及到数据库访问操作的批处理。ADO提供了一个Transaction对象,可以用于管理一系列相关的数据库操作作为一个事务。以下是使用ADO执行多条SQL语句的一个基本步骤: 1. **创建Connection对象**:首先需要创建一个`TADOConnection`对象,这个对象代表数据库连接。 ```delphi uses ADODB; var Connection: TADOConnection; begin Connection := TADOConnection.Create(nil); // 连接到数据库... end; ``` 2. **开启事务**:打开一个事务以便所有操作被视为一个整体。 ```delphi Connection.BeginTrans(); ``` 3. **创建Command对象**:然后创建`TADOCommand`对象,这是执行SQL命令的主要工具。 ```delphi var Command: TADOCommand; begin Command := TADOCommand.Create(Connection); end; ``` 4. **添加SQL语句**:可以在Command对象上设置多个SQL命令,如使用`AddParameter`和`AddQuery`方法。 ```delphi Command.CommandText := 'INSERT INTO Table1 (Field1, Field2) VALUES (?, ?)'; // 或者 Command.CommandText := 'UPDATE Table2 SET Field3 = ? WHERE ID = ?'; Command.Parameters.Add('Value1', adVarChar, adParamInput); // 参数绑定 ``` 5. **执行命令**:对每个SQL语句调用`Execute`方法,并在完成后关闭它。 ```delphi for EachCmd in [FirstCommand, SecondCommand] do begin try Command := ...; // 获取对应命令 Command.Execute; except on E: Exception do ShowMessage('Error executing command: ' + E.Message); end; if Assigned(Command) then Command.Parameters.Clear; // 清理参数 end; ``` 6. **提交或回滚事务**:根据需求,可以选择提交事务(`CommitTrans`)或在遇到错误时回滚事务(`RollbackTrans`)。 ```delphi try // 执行所有的SQL命令... finally Connection.CommitTrans; // 成功则提交 end; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值