东软软件动态生成对数据表更新操作的方法

  1  public string CreatUpdate()
  2         {
  3
  4             StringPlus strclass = new StringPlus();
  5             StringPlus strclass1 = new StringPlus();
  6             StringPlus strclass2 = new StringPlus();
  7            //方法注释
  8             strclass.AppendSpaceLine(2, "/// <summary>");
  9             strclass.AppendSpaceLine(2, "/// " + Languagelist["summaryUpdate"].ToString());
 10             strclass.AppendSpaceLine(2, "/// </summary>");
 11             //构建方法指定方法形参为要更改的数据表对应的实体对象
 12             strclass.AppendSpaceLine(2, "public bool Update(" + ModelSpace + " model)");
 13             strclass.AppendSpaceLine(2, "{");
 14             //构建StringBuilder实例装在Sql语句
 15             strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
 16             strclass.AppendSpaceLine(3, "strSql.Append(\"update " + _tablename + " set \");");
 17             //表中所有列,获取列名、数据类型、长度、是否只增及是否为主键
 18             foreach (ColumnInfo field in Fieldlist)
 19             {
 20                 string columnName = field.ColumnName;
 21                 string columnType = field.TypeName;
 22                 string Length = field.Length;
 23                 bool IsIdentity = field.IsIdentity;
 24                 bool isPK = field.IsPrimaryKey;
 25
 26                 strclass1.AppendSpaceLine(3, "db.AddInParameter(dbCommand, \"" + columnName + "\", DbType." + CSToProcType(columnType) + ", model." + columnName + ");");
 27
 28                 if (field.IsIdentity || field.IsPrimaryKey || (Keys.Contains(field)))
 29                 {
 30                     continue;
 31                 }
 32                   // 构建赋值语句
 33                 strclass.AppendSpaceLine(3, "strSql.Append(\"" + columnName + "=" + preParameter + columnName + ",\");");
 34             }
 35
 36
 37             //去掉最后的逗号
 38             strclass.DelLastComma();
 39             strclass.AppendLine("\");");
 40             //构建Where条件
 41             strclass.AppendSpaceLine(3, "strSql.Append(\" where " + GetWhereExpression(Keys) + "\");");
 42
 43              //创建命令对象
 44             strclass.AppendSpaceLine(3, "Database db = DatabaseFactory.CreateDatabase();");
 45             strclass.AppendSpaceLine(3, "DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());");
 46
 47
 48             strclass.Append(strclass1.Value);
 49             //向数据库提交sql语句并返回执行结果
 50             strclass.AppendSpaceLine(3, "int rows=db.ExecuteNonQuery(dbCommand);\r\n");
 51             //判断结果并返回相应提示
 52             strclass.AppendSpaceLine(3, "if (rows > 0)");
 53             strclass.AppendSpaceLine(3, "{");
 54             strclass.AppendSpaceLine(4, "return true;");
 55             strclass.AppendSpaceLine(3, "}");
 56             strclass.AppendSpaceLine(3, "else");
 57             strclass.AppendSpaceLine(3, "{");
 58             strclass.AppendSpaceLine(4, "return false;");
 59             strclass.AppendSpaceLine(3, "}");
 60
 61
 62             strclass.AppendSpaceLine(2, "}");
 63             return strclass.ToString();
 64         }

动态生成数据表更新方法

主要就是通过获取表中的列来生成代码字符串之后再以流的形式写入文本!

时间: 2024-11-05 16:25:42

东软软件动态生成对数据表更新操作的方法的相关文章

python爬取ajax动态生成的数据 以抓取淘宝评论为例子

在学习python的时候,一定会遇到网站内容是通过ajax动态请求.异步刷新生成的json数据的情况,并且通过python使用之前爬取静态网页内容的方式是不可以实现的,所以这篇文章将要讲述如果在python中爬取ajax动态生成的数据. 至于读取静态网页内容的方式,有兴趣的可以查看博客内容. 这里我们以爬取淘宝评论为例子讲解一下如何去做到的. 这里主要分为了四步: 一 获取淘宝评论时,ajax请求链接(url) 二 获取该ajax请求返回的json数据 三 使用python解析json数据 四

ABAP数据表的操作

这几天对于数据标的操作表较多,自己从网上找资料和自己动手操作总结了一些数据表的增删改查操作,希望对一些初学者有所帮助,仅供参考. 开源的数据库操作都离不开INSERT.UPDATE.MODIFY和DELETE语句.其中当SY-DBCNT返回为0,则表示操作成功,此外还将返回实际操作的数据行数.需要指明的是Open SQL本身并不进行操作权限的检查,若需要进行设定,则要在系统中创建授权对象. 一.INSERT语句Open SQL中的INSERT语句用于向数据库中插入新条目.1.插入单行数据:dbt

MySQL表更新操作

1.  使用insert语句向表插入一条新记录,语法是:insert into 表名 [(字段列表)] values(值列表). 2.  使用set 语句更新操作与字符集,例如setcharacter_set_client =latin1\gbk\utf8; 3.  使用delete语句删除表记录,例如delete from 表名 where 条件表达式: 4.  使用insert语句可以一次性地向表中批量插入多条记录,语句是:insert  into 表名 [(字段名)]values (值列表

SQL Server 动态生成数据库所有表Insert语句

一. 背景 SQL Server,如果我们需要把数据库A的所有表数据到数据库B中,通常我们会怎么做呢?我会使用SSMS的导入导出功能,进行表数据的导入导出,无可厚非,这样的导入非常简单和方便: 但是,当我们的表有上百个,而且有些表是有自增ID的,那么这个时候使用SSMS的话,你需要一个个手动设置(如图1),你要知道,需要设置上百个的这些选项是件多么痛苦的事情,而且最后很可能会因为外键约束导致导入导出失败. (图1) 虽然SSMS在导入导出的最后一步提供了生成SSIS包的功能,但是对于转移数据的需

7-24 数据表更新

数据表已经插入了一部分数据,但是需要修改,怎么办 UPDATE users set age = age +5; #更新名为users的数据表,将列age中所有的值增加5: UPDATE users SET age = age - id,sex = 0; #更新名为users的数据表,age = age-id,同时设置sex(bool值)全部为0: UPDATE users SET age = age +10 WHERE id %2 =0; #利用了WHERE语句只更新偶数列

MySQL学习3 - 数据表的操作

本节掌握 一.存储引擎(了解) 二.mysql支持的存储引擎 1.InnoDB 存储引擎 2.MyISAM 存储引擎 3.NDB 存储引擎 4.Memory 存储引擎 5.Infobright 存储引擎 6.NTSE 存储引擎 7.BLACKHOLE 8.指定表类型/存储引擎 三.表介绍 四.创建表 本节掌握 存储引擎介绍(了解) 表的增删改查 一.存储引擎(了解) 前几节我们知道mysql中建立的库=>文件夹,库中的表=>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各

Mysql入门到精通之数据表的操作

修改表 ALTER TABLE tb_name; 1.添加字段 ALTER TABLE tb_name ADD 字段名字 字段类型 约束条件 [FIRST/AFTER 字段名称] 1>添加用户名字段 ALTER TABLE test ADD username VARCHAR(20); 2>将字段test添加到表中第一个字段 ALTER TABLE test ADD test VARCHAR(20) FIRST; 3>在id之后添加年龄字段 ALTER TABLE test ADD age

MySQL第五个学习笔记 该数据表的操作

MySQL在创建表,创建.frm文件保存表和列定义.索引存储在一个.MYI(MYindex)且数据存储在有.MYD(MYData)扩展名的文件里.   一.用SHOW/ DESCRIBE语句显示数据表的信息 语法: SHOW TABLES [FROM db_name] [LIKE wild] or SHOW COLUMNS FROM tbl_name [FROM db_name] [LIKE wild] or SHOW INDEX FROM tbl_name [FROM db_name] or

SQL Server 的数据表简单操作

--创建数据表--[use 要创建数据表的数据库名称go]create table 要创建的表名(字段名 数据类型[长度] [null | not null] [primary key],... ... ... ... ,字段名 数据类型[长度] [null | not null]) 例:use 商品管理数据库gocreate table 客户信息表(客户编号 nchar(8) not null,客户姓名 nvarchar(5) not null,联系电话 nvarchar(11) not nu