sqlstring拼接
① C#中sql如何拼接字符串
ADO.NET连接数据库时,实例化***Connection(例如:OleDbConnection 、SqlConnection等)的时候需要指定连接字符串,除了利用抽象工厂模式利用反射实现灵活的连接之外,还可以通过DbProviderFactory类实现一定的灵活性。
首先介绍两个类:DbProviderFactory和DbProviderFactories。
DbProviderFactories:提供一组静态方法,这些方法用于创建 DbProviderFactory类的一个或多个实例。 方法列表如下:
DbProviderFactory:提供一组方法,这些方法用于创建提供程序对数据源类的实现的实例。
通常情况下,获取Access数据操作基本代如下:
运行结果如下:
② sql字符串拼接
转换成数据类型 int 时失败。就是因为你在拼接@sqlstr的时候将varchar类型和int类型直接进行了拼接。必须先将int转换成varchar再进行拼接。
declare @sqlstr varchar(1000)
declare @xh int
set @xh=100
set @sqlstr='insert into TEST select '+Cast(@xh as varchar)--这里是不限制位数的,只是把@xh的类型转换成varchar
select @sqlstr
③ sql语句拼接
在多种可变的查询条件下就需要SQL拼接了,比如
StringBuffer sql;
sql=new StringBuffer("SELECT * FROM 表名");
sql.append(" WHERE ");
if(条件1) sql.append(" 字段1='"+条件1+"' AND ");//字段和条件可以自己随意设定
if(条件2) sql.append(" 字段2='"+条件2+"' AND ");//
String finalSQL=sql.toString();
System.out.println(finalSQL);
System.out.println("最后AND位置 "+finalSQL.lastIndexOf(" AND "));
//因为AND拼在每一句最后面,所以有条件成立就肯定有AND 因此要去掉最有一个AND 否则没有AND的情况肯定是 没有任何条件成立 where也可以不要了
finalSQL=finalSQL.substring(0,finalSQL.lastIndexOf(" AND ")>0? finalSQL.lastIndexOf(" AND "):finalSQL.indexOf("WHERE"));
System.out.println(finalSQL);
*注:sql.append(" WHERE "); 就相当于 sql = sql + "where"
④ sql查询字符串拼接
拼串的时候用char(39) 代替单引号,char(37)代替%
SET @sql = 'SELECT * FROM authors WHERE address LIKE '+char(39)+char(37)+@str+char(37)+char(39)
⑤ sql server 怎样将字符串拼接的方法
String ProctionProct = temp.Rows[i][3].ToString().Trim();
//StringBuilder Sql2 = new StringBuilder();
//Sql2.Append("select top 1 [ProctID] from [Proct] where [proctname] =");
//Sql2.Append("N'" + ProctionProct + "';");
//String sql22 = Sql2.ToString();
String sql2 = @"select [ProctID] from [Proct] where [proctname] =N'"+ ProctionProct+ "'";
List< ProctModel > res2 = db.Database.SqlQuery<ProctModel >(sql2).ToList();
string ProctID = string.Empty;
foreach ( ProctModel proctname in res2)
{
ProctID = String.Format( "{0}" , proctname.ProctID);
}
将数据库中字段为空的赋值为0
update Material set MaterialTypeID='0' where MaterialTypeID='' or MaterialTypeID is NULL!
⑥ SQL 执行存储过程,字符串参数如何拼接
变量直接写,要连接字符串的话,用 || 这个符号,后面的字符串用单引号引!
例如 变量 V_str 字符串' select emp from table where '
连接后为:
------------------------------------------------
' select emp from table where '
|| V_str
------------------------------------------------
希望可以帮助到你!
⑦ sql查询中字符串拼接的问题
使用场景:
在使用spring data jpa中的query进行将多个不同类型的id拼接成一个新的id进行查询时,遇到这个问题,主要原因是这些id的数据类型不统一,有varchar又有int类型,而sql在进行字符串拼接时如果一边是int类型,会将varchar类型转换成int类型结合 + ,类似做加法计算了(个人理解,大概是这么个意思),同样的情况在其他类型的运算中也会遇到吧,大概意思就是不同类型的值进行字符串拼接时,有一些会进行自动类型转换,而有一些在这个过程中会出现问题。因此我们需要手动地进行类型转换,而sql语法中提供了对应地函数,见下文:
将字符串与整数拼接,即varchar拼接int,不同类型间进行字符串拼接时会提示将varchar值xxx转换成数据类型int时失败。
由此可见,在做字符串拼接运算时,系统会将字符串varchar类型转化为int,若不能转换则提示错误,转换成功则进行数字计算。
因此需要将类型做一个转换,即都转换为varchar类型
sql中类型转换常用函数:
1.CAST()函数可以将某种数据类型的表达式转化为另一种数据类型
2.CONVERT()函数也可以将制定的数据类型转换为另一种数据类型
举例说明:
⑧ SQL中的连接字符串怎么拼接
SQL字符串拼接直接用+ 号
如下列SQL
声明变量
declare @T nvarchar(50)
declare @T1 nvarchar(50)
set @T='12434'
set @T1='abc'
下面是拼接字符串SQL:
select @T+@T1
结果:12434abc
如果是别的类型,用convert 函数直接转换
如 convert(varchar,'需要转换的数据')
⑨ sql字符串拼接
首先,sql server 中字符串拼接要用+连接
其次,exec执行存储过程时,参数中不能任何运算。因此需要先拼接好字符串,再将这个拼接好的结果传给存储过程。
DECLARE@IPNvarchar(50)
SET@IP='127.0.0.1'
DECLARE@CmdNvarchar(50)
SET@Cmd='ping'+@IP+'-n2'
EXECMaster..xp_cmdShell@Cmd
⑩ sql server 怎样将字符串拼接的方法
你的问题,问的不是很清楚,你是想问,如果将查询结果拼接为字符串吗?
有两种办法,如果是拼接为一个字符串,可以用变量,如:
declare @names varchar(max)
select @names=isnull(@names+',','')+t.name from sys.tables as t
select @names
--返回:spt_fallback_db,spt_fallback_dev,spt_fallback_usg,spt_monitor,msreplication_options如果是用sql中,可以用xml
path如:
select stuff(
(select ','+t.name from sys.tables as t for xml path(''))
,1,1,'')
--返回spt_fallback_db,spt_fallback_dev,spt_fallback_usg,spt_monitor,msreplication_options