Select,Add,Update,Delete

//查询
public static DataSet select(string tableName,string whereStr)
{
    string sql = "select * from "+tableName+whereStr;
    try
    {
        return DbHelp.ExecSql(sql);
    }
    catch (Exception e1)
    {
        return null;
    }
}

//删除单条
public static int delete (string tableName,string whereStr)
{
    string sql = "delete from "+tableName+whereStr;
    try
    {
        return DbHelp.ExecSql(sql);
    }
    catch (Exception e1)
    {
        return 0;
    }
}

//删除多条
public static string deltes(DataTable dt)
{
    int i = 0;
    if (dt != null && dt.Rows.Count > 0)
    {
        foreach (DataRow row in dt.Rows) //遍历行
        {
            string tableName = dt.Name;
            string pk = dt.Columns[0].ColumnName.ToString(); //获取第一列名(主键列)
            string pkValue = row[0].ToString(); //获取第一行的(主键值)
            string sql="delete from "+tableNmae+" where "+pk+" = ‘"+pkValue+"‘";

            try
            {
                i = i + DbHelp.ExecSql(sql);
            }
            catch (Exception e1)
            {
                return e1.Massage.ToString()+sql;
            }

        }
        return "删除"+i.ToString()+"条信息";
    }
    else
    {
        return "删除0行";
    }

}

//遍历dataTable新增
public static string add(DataTable dt)
{
    int k=0;
    if (dt != null && dt.Rows.Count > 0)
    {
        foreach (DataRow row in dt.Rows) //遍历行
        {
            string tableName = dt.Name;
            string pk = dt.Columns[0].ColumnName.ToString(); //获取第一列名(主键列)
            string pkValue = row[0].ToString(); //获取第一行的(主键值)
            string sql="insert into "+tableNmae+" values(";
            string sql1 = pk;
            string sql2 = "‘"+pkValue+"‘";
            for (int i = 1; i < dt.Columns.Count; i++) //从1开始,因为第一列为主键值
            {
                sql1 = sql1 + ","+dt.Columns[i].ColumnName.ToString();  //拼列明
                sql2 = sql2 + ",‘"+row[i].ToString()+"‘";  //拼值
                //sql1 = sql1 + dt.Columns[i].ColumnName + "= ‘" + row[i].ToString() + "‘,";//列名+列值
            }
            sql = sql + sql1 +") values("+sql2 +")";
            try
            {
                k = k+DbHelp.ExecSql(sql);
            }
            catch (Exception e1)
            {
                return e1.Massage.ToString()+sql;
            }
        }
        return "新增"+k.ToString()+"条信息";
    }
    return "新增0条信息";
}

//遍历dataTable修改
public static string add(DataTable dt)
{
    int k = 0;
    if (dt != null && dt.Rows.Count > 0)
    {
        foreach (DataRow row in dt.Rows) //遍历行
        {
            string tableName = dt.Name;
            string pk = dt.Columns[0].ColumnName.ToString(); //获取第一列名(主键列)
            string pkValue = row[0].ToString(); //获取第一行的(主键值)
            string sql="update "+tableNmae+" set ";
            for (int i = 1; i < dt.Columns.Count; i++) //从1开始,因为第一列为主键值
            {
                sql1 = sql1 + dt.Columns[i].ColumnName + "= ‘" + row[i].ToString() + "‘,";//列名+列值
            }
            sql = sql.Substring(0,sql.Length -1) + " where "+pk+" = ‘"+pkValue+"‘";
            try
            {
                k = k+DbHelp.ExecSql(sql);
            }
            catch (Exception e1)
            {
                return e1.Massage.ToString()+sql;
            }
        }
        return "修改"+k.ToString()+"条信息";
    }
    return "修改0条信息";
}
时间: 2024-12-18 17:15:18

Select,Add,Update,Delete的相关文章

oracle中execute immediate的使用(select/insert/update/delete)(转)

execute immediate的语法如下: execute immediate 'sql'; execute immediate 'sql_select' into var_1, var_2; execute immediate 'sql' using [in|out|in out] bind_var_1, [in|out|in out] bind_var_2; execute immediate 'sql_select' into var_1, var_2 using [in|out|in

元素类型为 &quot;mapper&quot; 的内容必须匹配 &quot;(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select)

在配置ssm框架的时候,写mapper映射文件的时候会出现 元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select) 有时候编译的时候会出现这个bug,是因为在前面写了注释.导致了执行顺序的问题.需要把一些注释删掉,就可以正常执行了. /*mapper动态开发*/ <mapper namespace="com.ss

数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲> 数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例 实验所用数据表 子查询,解决一步不能求解 查询工资比scott高的员工信息: 子查询知识体系搭建: 解释3,查询部门是sales的员工信息: 方法1:子查询 [方法2]:多表: 优化考虑: 解释4[select],只能放单行子查询 解释4[from] 考题:显示员工姓名,薪水 解释

LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作

我们继续讲解LINQ to SQL语句,这篇我们来讨论Insert/Update/Delete操作.这个在我们的程序中最为常用了.我们直接看例子. Insert/Update/Delete操作 插入(Insert) 1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库. NorthwindDataContext db = new NorthwindDataContext(); var newCustomer

select from update row的实现

DTCC大会上,阿里江疑的演讲中提到一个:select from update hot row; 不明白如何在Oracle中实现的,他的意思是在一条SQL中实现update和select这条update的字段信息. 经dbsnake指点,了解到这是模仿了Oracle的returning into子句,可以将使用的DML语句影响的行记录的指定列的值select出来. 官方文档中有示例: http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/tu

如何判断一条sql(update,delete)语句是否执行成功

如何判断一条sql(update,delete)语句是否执行成功 catch  (SQLException    e)  {  }  catch不到错误应该就成功了.   ===================================================================== Statement对象提供了三种执行sql语句的方法.  1.ResultSet  executeQuery(String  sql)       执行查询语句,如ResultSet  r

sql server中高并发情况下 同时执行select和update语句死锁问题 (一)

 最近在项目上线使用过程中使用SqlServer的时候发现在高并发情况下,频繁更新和频繁查询引发死锁.通常我们知道如果两个事务同时对一个表进行插入或修改数据,会发生在请求对表的X锁时,已经被对方持有了.由于得不到锁,后面的Commit无法执行,这样双方开始死锁.但是select语句和update语句同时执行,怎么会发生死锁呢?看完下面的分析,你会明白的- 首先看到代码中使用的查询的方法Select <span style="font-size:18px;"> /// &

Select For update语句浅析 (转)

Select … for update语句是我们经常使用手工加锁语句.通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作.同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所阻碍. 借助for update子句,我们可以在应用程序的层面手工实现数据加锁保护操作.本篇我们就来介绍一下这个子句的用法和功能. 下面是采自Oracle官方文档<SQL Language Reference>中关于for update子句的说明:(请双击点开图片查看) 从f

linux下mysql Insert update delete 事务 用户管理

linux下mysql Insert update delete  事务 用户管理 1.INSERT插入语句格式: INSERT INTO tb_name (字段1, 字段2, ...) VALUES (值1,值2, ...)[,(值1, 值2, ...),...]; INSERT INTO 表名 SET 字段1=值1,字段2=值2,...; INSERT INTO 表名 (字段1,字段2,...) SELECT (字段1,字段2,...) FROM 表名 [WHERE 条件]; 2.REPLA