Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# sql查询,通过3个表选择数据_C#_Sql - Fatal编程技术网

C# sql查询,通过3个表选择数据

C# sql查询,通过3个表选择数据,c#,sql,C#,Sql,我有一个db,如下所示: (很抱歉,我无法上载图表) 分组表: grp_id smallint grp_name char(50) 类型表: tp_id smallint tp_name char(50) 项目表: it_id int grp_id smallint tp_id smallint 项目表通过grp_id链接到组表,并通过tp_id链接到类型表 用户输入grp\u名称或grp\u id, 我应该知道哪个项目有这个组,并添加它们的类型名称,从类型表到检查列表框发

我有一个db,如下所示: (很抱歉,我无法上载图表)

分组表:

grp_id smallint 
grp_name char(50) 
类型表:

tp_id smallint 
tp_name char(50) 
项目表:

it_id int 
grp_id smallint  
tp_id smallint 
项目表通过grp_id链接到组表,并通过tp_id链接到类型表

用户输入
grp\u名称
grp\u id

我应该知道哪个项目有这个组,并添加它们的类型名称,从类型表到
检查列表框

发布你的代码你尝试了什么..非常标准的查询,你迄今为止尝试了什么?你用什么将C连接到数据库?EF、ADO.NET或另一个ORM?ADO.NET,使用sqlconnection和sqlcommand类+1-我会更改?分别发送到
@groupid
@groupname
,但前提是OP使用的是ADO.NET。您的意思是这样的?`SqlCommand cmd=new SqlCommand(“…”,connection);cmd.Parameters.AddWithValue(“@sth”,sth).DbType=DbType.Int16`@雷内,你可能想考虑一下SQL基础知识,比如说,在ADO.NET上抓取一本好书。它很快就会为自己买单。@Jetti参数占位符名称格式取决于使用ADO.NET时使用的OleDbProvider。@ConradFrix ah ok。我只使用过MS SQL Server ADO.NET提供程序。谢谢你的信息!
select it_id, tp_name
from item
inner join type on type.tp_id = item.tp_id
inner join [group] on [group].grp_id = item.grp_id
where [group].grp_id = @groupid or [group].grp_name = @groupname