怎么实现对多表查询

lijian910wolf 2005-12-08 08:48:01
Command.CommandText="select Tel,sno,sex from TelTable,s where(CustomerName=sno) where(sn='"+this.textBox1.Text+"')";

在线等
...全文
217 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
echoxue 2005-12-09
  • 打赏
  • 举报
回复
呵呵
搬运工木木 2005-12-08
  • 打赏
  • 举报
回复
呵呵,原来那句查询分析器怎么可能测试成功?
lijian910wolf 2005-12-08
  • 打赏
  • 举报
回复
你们有QQ不
我的QQ号是83171031
xxuu503 2005-12-08
  • 打赏
  • 举报
回复
回复人: ylnjust02(阿亮) ( ) 信誉:100 2005-12-08 22:26:00 得分: 0


不适,要不要括号都一样
加我们的.Net群吧:8276484



zan够细心
搬运工木木 2005-12-08
  • 打赏
  • 举报
回复
晕...
光亮1916 2005-12-08
  • 打赏
  • 举报
回复
不适,要不要括号都一样
加我们的.Net群吧:8276484
lijian910wolf 2005-12-08
  • 打赏
  • 举报
回复
说的是啊
sno 多了个o啊
lijian910wolf 2005-12-08
  • 打赏
  • 举报
回复
还是不是括号的错
光亮1916 2005-12-08
  • 打赏
  • 举报
回复
="select Tel,sno,sex from TelTable,s where(TelTable.CustomerName=s.sno and sn='"+this.textBox1.Text+"')";

你这个只是s.sno 这个地方笔误是s.sn吧,是对的,
但在你没有将你的表结构和关系、几要做的查询贴出来时,根本不可能知道你错哪儿了,而且一般不提倡你哪种写法,数据量大时,你的写法查询时间要长

而且,在做别的查询时(就上面两个表),写法可能就会不一样,所以,在做多表查询时一点要清楚表之间的关系,以及你要做查询什么东西
xxuu503 2005-12-08
  • 打赏
  • 举报
回复
可能是括号!
lijian910wolf 2005-12-08
  • 打赏
  • 举报
回复
"select Tel,sno,sex from TelTable left join s on TelTable.CustomerName=s.sn where CustomerName='" + this.textBox1.Text +"'"
这个测试成功了
但我的写的数据库查询代码怎么就不行呢 到底是哪错了
Command.CommandText="select Tel,sno,sex from TelTable,s where(TelTable.CustomerName=s.sno and sn='"+this.textBox1.Text+"')";我的代码哪错了
lijian910wolf 2005-12-08
  • 打赏
  • 举报
回复
测试了啊
光亮1916 2005-12-08
  • 打赏
  • 举报
回复
"select Tel,sno,sex from TelTable left join s on TelTable.CustomerName=s.sn where CustomerName='" + this.textBox1.Text +"'"
xxuu503 2005-12-08
  • 打赏
  • 举报
回复
你进查询分析器测你的sql了么?
lijian910wolf 2005-12-08
  • 打赏
  • 举报
回复
有两个简单的表撒
一个是TelTable 它里面只有两个字段Tel,CustomerName(当主键)
一个是s,他里面有sno,sn(当主键),sex
就两个简单表撒
我输入了几个人的信息
两个表中有相同名字的人
现要查询出其中某个人的sno,sex,tel 当sn 等于CustomerName时
也就是 当两个表中名字相同的人的信息
xxuu503 2005-12-08
  • 打赏
  • 举报
回复
楼上的,他的sql文里有这个:
TelTable.CustomerName=s.sno

而且主要问题应该是程序不对
光亮1916 2005-12-08
  • 打赏
  • 举报
回复
这样写SQL语句对表的联合查询是毫无意义的,
因为两个表的连接要看表之间的关系,还有你要做什么样的查询,否则,就算能查出结果很可能也是错的
而这些他没有告诉我们,所以在下面盲目写代码毫无意义
xxuu503 2005-12-08
  • 打赏
  • 举报
回复
回复人: lijian910wolf(李剑) ( ) 信誉:100 2005-12-08 21:37:00 得分: 0


我做的是WIN FORM啊
但我在单表查询中用Console.write()一样可以查询成功 我现在是在单表的基础上想多表查询


//console.write和查询无关!

Console 类请参见
Console 成员 | System 命名空间 | Console 成员(Visual J# 语法) | C++ 托管扩展编程
要求
命名空间: System

平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列, .NET Framework 精简版 - Windows CE .NET

程序集: Mscorlib (在 Mscorlib.dll 中)
语言
C#

C++

JScript

Visual Basic

全部显示
表示控制台应用程序的标准输入流、输出流和错误流。无法继承此类。

有关此类型所有成员的列表,请参阅 Console 成员。


cosole.write是朝控制台里写入一个string
xxuu503 2005-12-08
  • 打赏
  • 举报
回复
开始-->所有程序-->MicroSoft SQL Server-->查询分析器

输入sa密码,选好了数据库,可以在里边测试你的sql文

你可以把sql文打印出来然后再查询分析器里测试
lijian910wolf 2005-12-08
  • 打赏
  • 举报
回复
我做的是WIN FORM啊
但我在单表查询中用Console.write()一样可以查询成功 我现在是在单表的基础上想多表查询
加载更多回复(10)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧