比如使用:“Linq to Sql”可以吗??? 主要是因为涉及到“Silverlight”在“Asp.net”项目中的使用,要用到“RIA WCF Service”。
------解决方案-------------------- 都LINQ时代了,别再拼接SQL了。LINQ to SQL和LINQ to EF都行,根据需要选择吧。
------解决方案-------------------- LINQ to SQL只能连接SQLSERVER数据库,如果使用ORACLE数据库的话就不行了。建议使用NHibernate或EntityFramework。
------解决方案-------------------- 用存储过程参数化也不需要拼接。
举个例子,下面的代码就是在拼接不同的表,最后合在一起显示出来。 Declare @Command2 Varchar(2000) Declare @Command3 Varchar(2000) Declare @Command4 Varchar(2000) SET @PN80=''''+@PN80+'''' SET @PN80=replace(@PN80,',',''',''')
--定义一个结构相同的空表 SELECT Customer,PN INTO #1 FROM HOURSCJL WHERE 1=0
SELECT Customer,PN INTO #2 FROM HOURSMIPK WHERE 1=0
SELECT Customer,PN INTO #3 FROM HOURSTEST WHERE 1=0
SET @Command2='INSERT INTO #1 SELECT Customer,PN FROM HOURS1 WHERE PN80 IN ('+@PN80+')' EXEC(@Command2)
SET @Command3='INSERT INTO #2 SELECT Customer,PN FROM HOURS2 WHERE PN80 IN ('+@PN80+')' EXEC(@Command3)
SET @Command4='INSERT INTO #3 SELECT Customer,PN FROM HOURS3 WHERE PN80 IN ('+@PN80+')' EXEC(@Command4)
SELECT FORDER=CASE WHEN LEFT(SortPN,2)='80' THEN '1' ELSE '4' END, * FROM #1 UNION SELECT FORDER=CASE WHEN LEFT(SortPN,2)='50' THEN '2' ELSE '4' END, * FROM #2 UNION