易截截图软件、单文件、免安装、纯绿色、仅160KB

拼接SQL造成的意想不到的后果

执行数据操作时,由于拼接SQL存在种种弊端,早就应该抛弃了,但在现实开发时,又由于种种原因,公司一直采用这种方式(UI层和逻辑层都有严格的过滤,倒也没出现过什么问题),但昨天开发时却出现了意想不到的问题,一个简单的语句会造成严重后果。简单的语句示例如下:
    /// <summary>
    /// 更新主键为2的记录的总钱数
    /// </summary>
    /// <param name="totalMoney">修改后的总钱数</param>
    public void UpdateTotalMoney(int totalMoney)
     {
        int id = 2; //数据库表主键
        int oldTotalMoney = 5000;       //主键为2的记录原来的总钱数
        int newTotalMoney = totalMoney; //主键为2的记录更改后的钱数
        int totalMoneyChange = oldTotalMoney - newTotalMoney; //总钱数的变化量
        string sql = string.Format("update Test1220 set totalMoney = {0},remainMoney = remainMoney-{1} where id = {2}", newTotalMoney, totalMoneyChange, id);   //总钱数变化,剩余可支配钱数也跟着编号
         SqlConnection con = new SqlConnection(sqlConnectString);
         con.Open();
         SqlCommand cmd = new SqlCommand(sql, con);
         cmd.ExecuteNonQuery();
         con.Close();
     }
    CREATE TABLE Test1220(
         id int IDENTITY(1,1) NOT NULL PRIMARY KEY,
         totalMoney int NULL,
         remainMoney int NULL
&n


相关文档:

oracle常用经典SQL查询

oracle常用经典SQL查询
常用SQL查询:
 
1、查看表空间的名称及大小
 
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
 
2、查看表空间物理文件的名称 ......

精妙SQL语句整理

一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack ......

PL/SQL例子2

create or replace procedure c
(
v_deptno  in emp.deptno%type,
v_max out emp.sal%type
)
as
begin
select max(sal+nvl(comm,0)) into v_max from emp where deptno=v_deptno;
end;
create or replace procedure cc
(
v_empno  in emp.empno%type,
v_sal out emp.sal%type,
v_comm out emp.comm% ......

SQL语句大全(1)

--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DRO ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号