在c#中执行sql语句时传递参数的小经验

sql|语句|执行

c#中与数据库打交道,免不了要用到各种sql语句,而给sql语句传参数也是不可避免的。以下是我在此方面上的一点总结(高手勿见笑):
 1> 直接写入法:
      例如:
             int Id =1;
             string Name="lui";
             cmd.CommandText="insert into TUserLogin values("+Id+",'"+Name+"')";
        因为Id是数值,所以在传递的时候只需要在sql字符串中用"+Id+"即可实现,而   Name是字符串,所以在传递的时候还需要在"+Name+"两边各加一个单引号(')来 实现;
2>给命令对象添加参数法:
     例如:
            int Id =1;
            string Name="lui";
            cmd.CommandText="insert into TUserLogin values(@Id,@Name)";
          //上条语句中直接在sql语句中写添加的参数名,不论参数类型都是如此.
           SqlParameter  para=new SqlParameter("@Id",SqlDbType.int,4);//生成一个名字为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型长度与数据库中对应字段相同
           para.Value=Id;//给参数赋值
           cmd.Parameters.Add(para);//必须把参数变量添加到命令对象中去。
           //以下类似
           para=new SqlParameter("@Name",SqlDbType.VarChar,16);
           para.Value=Name;
           com.Parameters.Add(para);
        ...然后就可以执行数据库操作了。

时间: 2016-07-07

在c#中执行sql语句时传递参数的小经验的相关文章

在MySQL中执行SQL语句时的几个注意点

在执行查找命令时的大小写问题 默认情况下,MySQL在执行查找时不区分字母的大小写.当你在查找时使用like 'a%'时, 默认将返回以a或者A开头的所有列值,若要在查找时区分大小写,则需要使用collate运算符来实现,具体例子如下: col_name COLLATE latin1_general_cs LIKE 'a%'col_name LIKE 'a%' COLLATE latin1_general_cscol_name COLLATE latin1_bin LIKE 'a%'col_na

hive中执行sql语句出现的问题

The expression after ELSE should have the same type as those after THEN: "bigint" is expected but "i hive中执行sql语句: select pc.category_id, sum(case when t.so_month between 3 and 5 then t.order_item_num else 0 end) as spring, sum(case when t.

请大家帮忙-实现使用C#语言,在.net开发平台中执行sql语句

问题描述 实现使用C#语言,在.net开发平台中执行sql语句 实现使用C#语言,在.net开发平台中执行sql语句了,如查询某张表数据,向某张表插入一条数据,在某张表中编辑一条数据,删除某张表的一条数据. 解决方案 给你段代码,你参考一下 using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.W

java-为什么我在Java类中执行SQL语句,程序没错,而数据库却没执行??

问题描述 为什么我在Java类中执行SQL语句,程序没错,而数据库却没执行?? 解决方案 不知道画了删除线是什么意思,你确认这些代码有效么 解决方案二: 你用的什么啊?Hibernate?还是别的框架啊?Hibernate的话,可能是事务没有提交,你执行flush方法就可以了 解决方案三: 代码可以贴全一点吗?看不到关键部分 解决方案四: 代码内容太少了,你的Sqlca是个什么,最起码给个声明. 解决方案五: 你的sqlca是什么啊? 解决方案六: executeSQL方法问题 这个方法只能是查

用C#执行SQL语句时,由于有些语句执行时间太长,在执行某一条的过程中,需要对该条语句进行标红,问怎么判断一条SQL语句正在执行中呢???

问题描述 急急急球大神指点!!!! 解决方案 解决方案二:需要对该条语句进行标红是啥意思?解决方案三:你看看这样行不行://这里执行对某行SQL语句文本设置为红色.stringinsertcommand=string.Format(@"insertintoGateChangeInfo(OldValue,NewValue,LastUpdateTime)values('{0}','{1}',{2})",TheOldGateNo.Trim(),textBox_Gate.Text.Trim()

java中执行sql语句参数设置问题

问题描述 想问下:java里面:1.String cust_no="123456";StringBuffer qry = new StringBuffer();qry.append(" SELECT * ");qry.append(" FROM TORDERDETAIL ");qry.append(" where CUST_NO =? ");pStmt = conn.prepareStatement(qry.toString(

Shell脚本中执行sql语句操作mysql的5种方法_linux shell

对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境  [[email protected] ~]# more /etc/issue  CentOS release 5.9 (Final)  Kernel \r on an \

如何在nhibernate中执行SQL语句

问题描述 在网上查了很多大部分给出如下代码:publicIListExecuteSQL(stringquery){IListresult=newArrayList();ISessionFactoryImplementors=(ISessionFactoryImplementor)cfg.BuildSessionFactory();IDbCommandcmd=s.ConnectionProvider.Driver.CreateCommand();cmd.CommandText=query;IDbC

在MySQL数据库中使用C执行SQL语句

mysql|数据|数据库|语句|执行 与PostgreSQL相似,可使用许多不同的语言来访问MySQL,包括C.C++.Java和Perl.从Professional Linux Programming中第5章有关MySQL的下列章节中,Neil Matthew和Richard Stones使用详尽的MySQL C接口向我们介绍了如何在MySQL数据库中执行SQL语句.他们将讨论返回数据的语句,例如INSERT以及不返回数据的语句,例如UPDATE和DELETE.然后,他们将编写从数据库检索数据