SQL 拼接表名并调用 并取返回值

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhaobangyu/article/details/47002397
例如我们有多个表,而多个表的区别在于表名格式为Table+X 例如Table_1,Table_2,Table_3 我们需要通过一条语句来动态查询三个表内的数据,哪么需要将整条语句拼接,然后使用Exec(语句) 如果需要得到返回值 需要用到 sp_executesql.例如我们要查询Table_x表内UserID为100的用户的 性别(Gender字段)参数 X为不定值 需要动态进行查询 代码如下

DECLARE @OutString		nvarchar(50)   --输出参数
DECLARE @UserID			int	       --当前分数
DECLARE @X			int 	       --动态参数
DECLARE @Gender                 int            --性别参数
DECLARE @sqlfilter		nvarchar(max)  --组合字符(这里要注意是nvarchar 不是 varchar 否则会提醒过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'的错误)


	 //拼接SQL字符串
	 SET @sqlfilter = 'SELECT @OutString= Gender from Table_ ‘+  CAST(X AS nvarchar(max)) + ' where UserID = ' + CAST(UserID AS nvarchar(max))

	--执行语句
        exec sp_executesql @sqlfilter,N'@OutString nvarchar(50) output',@OutString output 
	 
	SELECT @OutString


展开阅读全文

jquery调用后台并返回值

04-07

[code=JScript]rn$(document).ready(function()rn$("tr.abc").click(function()rnvar x = $(this).find("td").eq(1).html();rnvar y = $("input#TextBox1").val();rnvar z = $(this).find("td").eq(10).html();rnvar sendData = "id:'" + x + "',date:'" + y + "',stid:'" + z + "'";//利用alert(sendData);测试数值正常rn$.ajax(rntype:"POST",rnurl:"select.aspx/getprice",rncontentType: "application/json;charset=utf-8",rndata:sendData,rndataType: 'json',rnsuccess:function(result)alert(result.d);rn);rn););rn[/code]rn[code=C#]rn//select.aspx.csrn[WebMethod]rn public static string getprice(string busid, string busdate, string stid)rn rn IDataParameter[] parameters = new SqlParameter[] new SqlParameter(@"price",SqlDbType.Decimal),rn new SqlParameter(@"id",SqlDbType.Char,4), new SqlParameter(@"date",SqlDbType.DateTime,8), new SqlParameter(@"stid",SqlDbType.Char,4);rn parameters[1].Value = id;rn parameters[2].Value = date;rn parameters[3].Value = stid;rn parameters[0].Direction = ParameterDirection.Output;rnrn SqlData d = new SqlData();rn decimal result = d.SQL_SP("getprice", parameters);rn return result.ToString();rn rn[/code]rnrn后台的getprice函数用一般asp.net触发方法也测试过是正常的!现在不知道什么原因就是点了没反应!rnrngetprice的d.SQL_SP()是调用SQLData.cs的SQL_SP()方法的,这个是不是也要变为static函数??rnrn还是其他原因呢?哪位朋友帮帮忙啊???之前开了个帖子也没得出答案啊!!! 论坛

没有更多推荐了,返回首页