Access用OleDbParameter更新/插入数据

/// <summary>
  /// 更新一条数据
  /// </summary>
  public void Update(ZPY.Model.News model)
  {
   StringBuilder strSql=new StringBuilder();
   strSql.Append("update News set ");
   strSql.Append("NewsTitle=@NewsTitle,");
   strSql.Append("NewsContent=@NewsContent,");
   strSql.Append("NewsFrom=@NewsFrom,");
   strSql.Append("NewsTime=@NewsTime,");
   strSql.Append("DefaultPic=@DefaultPic,");
   strSql.Append("BigClassID=@BigClassID,");
   strSql.Append("SmallClassID=@SmallClassID,");
   strSql.Append("Hits=@Hits,");
   strSql.Append("IsTop=@IsTop,");
   strSql.Append("IsPass=@IsPass,");
   strSql.Append("AddMan=@AddMan");
   strSql.Append(" where ID=@ID ");
   OleDbParameter[] parameters = {
     // 注意里面参数的顺利一定要和Update语句里面参数是顺序一致,比如Update语句里面第一个参数

// 是@NewTitle,这里也是,Update语句里面最后一个参数是@ID,这样最后一个参数一定要是@ID
     new OleDbParameter("@NewsTitle", OleDbType.VarChar,100),
     new OleDbParameter("@NewsContent", OleDbType.VarChar,0),
     new OleDbParameter("@NewsFrom", OleDbType.VarChar,50),
     new OleDbParameter("@NewsTime", OleDbType.Date),
     new OleDbParameter("@DefaultPic", OleDbType.VarChar,100),
     new OleDbParameter("@BigClassID", OleDbType.Integer,4),
     new OleDbParameter("@SmallClassID", OleDbType.Integer,4),
     new OleDbParameter("@Hits", OleDbType.Integer,4),
     new OleDbParameter("@IsTop", OleDbType.Boolean,2),
     new OleDbParameter("@IsPass", OleDbType.Boolean,2),
     new OleDbParameter("@AddMan", OleDbType.VarChar,50),
                    new OleDbParameter("@ID", OleDbType.Integer,4),
            };
  
   parameters[0].Value = model.NewsTitle;
   parameters[1].Value = model.NewsContent;
   parameters[2].Value = model.NewsFrom;
   parameters[3].Value = model.NewsTime;
   parameters[4].Value = model.DefaultPic;
   parameters[5].Value = model.BigClassID;
   parameters[6].Value = model.SmallClassID;
   parameters[7].Value = model.Hits;
   parameters[8].Value = model.IsTop;
   parameters[9].Value = model.IsPass;
   parameters[10].Value = model.AddMan;
            parameters[11].Value = model.ID;

   DbHelperOleDb.ExecuteSql(strSql.ToString(),parameters);
  }

 

 

            //插入一条数据
            StringBuilder strSql = new StringBuilder();
            strSql.Append("insert into TH_MapMark(");
            strSql.Append("ExtendName,ExtendDate,BottomLeftX,BottomLeftY,TopRightX,TopRightY,ImgPreview,IsDefaultMark)");
            strSql.Append(" values (");
            strSql.Append("@ExtendName,@ExtendDate,@BottomLeftX,@BottomLeftY,@TopRightX,@TopRightY,@ImgPreview,@IsDefaultMark)");
            OleDbParameter[] parameters = {
                         new OleDbParameter("@ExtendName", OleDbType.VarChar),
                         new OleDbParameter("@ExtendDate", OleDbType.Date),
                         new OleDbParameter("@BottomLeftX", OleDbType.VarChar),
                         new OleDbParameter("@BottomLeftY", OleDbType.VarChar),
                         new OleDbParameter("@TopRightX", OleDbType.VarChar),
                         new OleDbParameter("@TopRightY", OleDbType.VarChar),
                         new OleDbParameter("@ImgPreview", OleDbType.Binary),
                         new OleDbParameter("@IsDefaultMark", OleDbType.Integer)};
            parameters[0].Value = name;
            parameters[1].Value = DateTime.Now;
            parameters[2].Value = lowerLeftX;
            parameters[3].Value = lowerLeftY;
            parameters[4].Value = upperRightX;
            parameters[5].Value = upperRightY;
            parameters[6].Value = images;
            parameters[7].Value = 0;
            

            ExecuteSql(strSql.ToString(), parameters);

 

转载于:https://www.cnblogs.com/dj1232090/p/6770580.html

C#中,将一个Access数据库表中的数据复制到另一个Access表通常可以通过使用`OleDb`进行操作。以下是一个简单的示例步骤,展示如何使用循环来复制数据: 1. 首先,需要引入`System.Data.OleDb`命名空间,以便使用OleDb连接和命令。 2. 创建两个OleDb连接,一个用于源Access数据库(源表所在),另一个用于目标Access数据库(目标表所在)。 3. 创建两个OleDb命令对象,分别用于查询源表和插入目标表。同时,需要准备相应的SQL语句。 4. 打开源数据库连接,并执行查询命令以获取数据。 5. 遍历查询结果,并将每条记录插入到目标表中。这通常通过创建一个循环实现。 6. 完成数据复制后,关闭所有打开的连接。 下面是一个简单的代码示例: ```csharp using System; using System.Data.OleDb; class Program { static void Main() { // 源和目标数据库连接字符串 string sourceConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sourcePath.accdb;Persist Security Info=False;"; string targetConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=targetPath.accdb;Persist Security Info=False;"; // 创建连接对象 using (OleDbConnection sourceConn = new OleDbConnection(sourceConnString)) { using (OleDbConnection targetConn = new OleDbConnection(targetConnString)) { // 创建命令对象 OleDbCommand sourceCommand = new OleDbCommand("SELECT * FROM SourceTable", sourceConn); OleDbCommand insertCommand = new OleDbCommand("INSERT INTO TargetTable (Column1, Column2) VALUES (?, ?)", targetConn); // 打开源数据库连接 sourceConn.Open(); // 打开目标数据库连接 targetConn.Open(); // 获取数据读取器 using (OleDbDataReader reader = sourceCommand.ExecuteReader()) { // 准备插入命令的参数 insertCommand.Parameters.Add(new OleDbParameter("@Column1", OleDbType.Integer)); insertCommand.Parameters.Add(new OleDbParameter("@Column2", OleDbType.VarWChar)); // 遍历数据插入到目标表 while (reader.Read()) { // 将读取的数据赋值给参数 insertCommand.Parameters["@Column1"].Value = reader["Column1"]; insertCommand.Parameters["@Column2"].Value = reader["Column2"]; // 执行插入命令 insertCommand.ExecuteNonQuery(); } } } } } } ``` 在上述代码中,`SourceTable`是源Access表的名称,`TargetTable`是目标Access表的名称,`Column1`和`Column2`是表中的字段名。请根据实际的表名和字段名进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值