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

java、C#中Sql语句传参的写法及意义

 Sqlserver这东西没少跟他打交道,刚学开发语言时就已经跟他接触了,不要说很精通,但就语法还算是熟悉,但现在开始写C#,发现很C#多了一种SqlServer的参数传入方式,以往我们常常对要传参的Sql语句都是直接通过拼凑Sql语句的方式来实现,但现在C#为什么要专门做一个Sql参数的类来实现呢,经过查找才知道,这样做是有道理的,一是可以优化SQL语句(在oracle的教程的类似的传参SQL语句是只会预编译一次,无论传入多少次参数,都只编译一次,这样是可以优化同一SQL语句频繁使用的情况,SQLSERVER中不知道有没这方面的优化,Sqlserver的存储过程只要有传入参,是不会一次编译的是多次编译......),二是可以检查传入参的数据类型,过滤非法字符...这样可以有效阻止SQL的注入式破解.具体写法如下.
C#:
cmdTmp1.CommandText="INSERT INTO SPDJ Message,TypeCode) VALUES (@p1,@p2)";
cmdTmp1.Parameters.Clear();
cmdTmp1.Parameters.Add(new SqlParameter("@p1",SqlDbType.VarChar,512));
cmdTmp1.Parameters["@p1"].Value="Hi";
cmdTmp1.Parameters.Add(new SqlParameter("@p2",SqlDbType.Int));
cmdTmp1.Parameters["@p2"].Value=2001;
cmdTmp1.ExecuteNonQuery();
cmdTmp1.Parameters.Clear();
java:
PreparedStatement pstmt = con.prepareStatement("Insert into Spdj(Message,TypeCode) Values(?,?);
pstmt.setString(1, "Hi");
pstmt.setInt(2, 2001);
pstmt.execute();


相关文档:

Excel 导入sqlserver c#

using System.Data.SqlClient;
using System.Data.OleDb;
 private void button1_Click(object sender, EventArgs e)
        {
OleDbConnection conn = null;
            try
     &nbs ......

sql:存储过程,事务,out参数

CREATE proc [dbo].[proc_DeleteTemplet] (@templeId varchar(15),@errorMessage varchar(50) output)
as
begin
  declare @error int
  set @error =0
  begin tran
  delete from tc_templet_Head where fBillNo=@templeId
  set @error=@error+@@error
  delete from tc_templet_ ......

实现多行合并一行的SQL [MSSQL2005]写法

--1. 创建表,添加测试数据
CREATE TABLE tb(id int, [value] varchar(10))
INSERT tb SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
--SELECT * from tb
/**//*
id value
----------- ----------
1 aa
1 bb
2 aaa ......

SQL Server挂起

在运行窗口输入regedit,打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager中找到PendingFileRenameOperations,删除该键值,关闭注册表编辑器。重新安装SQL Server 2000,此时,就可以正常进入期待的安装界面了。 ......

SQL:1999连接

SQL:1999连接
SQL:1999连接在语法上和传统的ORACLE连接有着很大的不同。SQL:1999连接的类型在from语句中指明。ORACLE 9I支持的SQL:1999连接包括:
l         CROSS连接
l         NATURAL连接
l       ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号