请问一个数据查询的问题? 我现在可以得到比如:“,10,1,45,25,2,24,128”像这样的字符串substr,请问我如何才能去取出表中字段ID值为10,1,45,25,2,24,128的记录,如果把这个字符串传进存储过程里,那SQL又怎么写呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 split函数,将字符串转换为以','分隔的字符转数组。 //****创建一个存储过程creac proc prc_systemuser_filter( @SQLEx varchar(1000))asbegin declare @strSQL varchar(2000); set @strSQL='SELECT * FROM TB_SYSTEMUSER WHERE (1>0)'; if(@SQLEx IS NOT NULL AND RTRIM(LTRIM(@SQLEx))<>'' AND @SQLEx<>N'') begin set @strSQL=@strSQL+@SQLEx; end exec(@strSQL);end//*****调用存储程//****这里只给出表示层接口private void SystemUser_Filter(){ string strTemp="10,1,45,25,2,24,128" //****拆分字符 string[] strApp=strTemp.split(Convert.ToChar(",")); foreach(string str in strApp) { //****查找相应数据 DBComTable.TBSystemUser mTBSystemUser=new DBComTable.TBSystemUser(): mTBSystemUser.SQLEx=" AND USERCODE='" + str + "'"; DataSet DSet=(new webservices.frinedservices()).systemsuser(mTBSystemUser); } //*****在进行相应处理......} 你的意思应该是往一张表里同时插入多条数据吧,比如是你取到的字符串为ID,就好象服务器选择某几个人之后,然后给这些人发消息,是这个意思吗?dltTarget是一个<select style="WIDTH: 100%" multiple size="10" name="dltTarget"></select>IDList=Request["dltTarget"]; IDList="'" + IDList.Replace(",","','") + "'";然后把IDList作为参数传进去,PROCINSERT INTO [UploadInfo] ([UploadTitle], [UploadDetail], [FilePath], [Inputer]) VALUES(@uploadTitle, @UploadDetail, @FilePath, @Inputer); declare @newID int; select @newID= @@identity declare @SQL varchar(2000); set @SQL='insert UploadInfo_Groups (GroupNo, UploadInfoID) select GroupNo ,'+ ltrim(str(@newID )) + ' from AUTH_GROUP where GroupNo in(' + @GroupList + ')'; execute(@SQL);这是以前写的,就这么个意思。@set这个语句,就是同时插入多条记录 语法错误 (操作符丢失) 在查询表达式 'user_name='' and user_pw''' 中。 关于定位弹出层的JS问题 AppLibrary类导出的问题!急急! asp.net mvc 请问一下各位关于Visual Web Developer 2005安装的相关问题 表格里怎么样转换HTML代码 (求高手指教) DataList显示疑问 gridview 一次删除多条记录??() datagrid嵌套 OleDbDataAdapter.UpDates时出错了 你们说这是什么问题?dataSet.tables 竟不能访问 为什么我点生成网站没有反映?
(
@SQLEx varchar(1000)
)
as
begin declare @strSQL varchar(2000);
set @strSQL='SELECT * FROM TB_SYSTEMUSER WHERE (1>0)'; if(@SQLEx IS NOT NULL AND RTRIM(LTRIM(@SQLEx))<>'' AND @SQLEx<>N'')
begin
set @strSQL=@strSQL+@SQLEx; end
exec(@strSQL);
end//*****调用存储程//****这里只给出表示层接口private void SystemUser_Filter()
{
string strTemp="10,1,45,25,2,24,128"
//****拆分字符
string[] strApp=strTemp.split(Convert.ToChar(",")); foreach(string str in strApp)
{
//****查找相应数据
DBComTable.TBSystemUser mTBSystemUser=new DBComTable.TBSystemUser():
mTBSystemUser.SQLEx=" AND USERCODE='" + str + "'"; DataSet DSet=(new webservices.frinedservices()).systemsuser(mTBSystemUser);
} //*****在进行相应处理......
}
dltTarget是一个
<select style="WIDTH: 100%" multiple size="10" name="dltTarget"></select>
IDList=Request["dltTarget"];
IDList="'" + IDList.Replace(",","','") + "'";
然后把IDList作为参数传进去,
PROC
INSERT INTO [UploadInfo]
([UploadTitle], [UploadDetail], [FilePath], [Inputer])
VALUES(@uploadTitle, @UploadDetail, @FilePath, @Inputer);
declare @newID int;
select @newID= @@identity
declare @SQL varchar(2000);
set @SQL='insert UploadInfo_Groups (GroupNo, UploadInfoID) select GroupNo ,'
+ ltrim(str(@newID )) +
' from AUTH_GROUP where GroupNo in('
+
@GroupList
+ ')'; execute(@SQL);
这是以前写的,就这么个意思。@set这个语句,就是同时插入多条记录