天天看点

C#WPF中的两表多数据连接

如何在数据库中,通过两表连接多条数据?

该方法适用于WPF项目的数据库存储过程编写,而且是作用于查询方法。

C#WPF中的两表多数据连接
C#WPF中的两表多数据连接
C#WPF中的两表多数据连接
SELECT	ROW_NUMBER () over(order by  B_ModuleFunction.ModuleFunctionID) as number,
		B_ModuleFunction.ModuleFunctionID, 
		RTRIM(B_Module.ModuleName) AS ModuleName, 
		RTRIM(B_Module.ModuleCode) AS ModuleCode, 
		B_Module.f_id,
		RTRIM(B_ModuleFunction.Detailed_attribute_gatherID) AS Detailed_attribute_gatherID,
		'False' AS SelectID, 
		'False' AS InsertID, 
		'False' AS UpdateID, 
		'False' AS DeleteID
FROM      B_Module INNER JOIN
               B_ModuleFunction ON B_Module.ModuleID = B_ModuleFunction.ModuleID
			   --在Sql中将 varchar 值 '1,2,3,4,5,6' 转换成数据类型 int
			   --charindex(匹配内容,检测字符串),匹配不到数据返回0
WHERE	charindex(','+rtrim(B_ModuleFunction.ModuleFunctionID)+',',','[email protected]+',')>0  
           

这里用到的两张数据表分别是B_Powers和B_ModuleFunction,这里的B_Power.ModuleFunctionID连接了B_Powers表中的多条id,如果是普通的连表,是通过id连接且只能连接一条id,而这里连接了多条,B_Powers表中的ModuleFunctionID其实在char类型,但通过charindex方法可以实现不同类型的数据查找。

总结:首先是使用这种查询方法需要注意的地方,存放多条id的ModuleFunctionID中结尾要用“,”隔开,不然执行操作的时候会出错。最后要注意int类型的数据不能和char类型数据连接,以上条件满足后就可通过charindex方法查询数据。

PS:以上均为个人理解,可能存在错误或遗漏,欢迎各位指正。