P1表里字段有 ID, A, B
P2表里字段有 ID, X, Y
P3表里字段有 ID, R, S
在这3个表里都有一个ID字段,3个表里ID字段值都不同,然后用户在一个TextBox控件里输入ID值
能查出结果,比如 用户输入; 100123
然后的出这样的结果
ID:100123 A:100 B:20
X: 5 Y:6 R:7
S: 8
最好不用DataGrid控件,让得出的结果可以随意布置在页面的任何位置
请给我写一个简单详细的代码,我好用
13 个解决方案
#1
救救我啊 555
#2
不明白什么意思
#3
“随意布置在页面的任何位置”什么意思啊
#4
3个表里ID字段值都不同??
----------------------
3個表是通過ID來關連嗎?
----------------------
3個表是通過ID來關連嗎?
#5
你的表设计的有问题,三个必须有关联关系才可以,否则是做不到的,因为某个表记录是多条时就没法确定该取那条。
应该是这样
P1表里字段有 ID, A, B,pid
P2表里字段有 ID, X, Y,pid
P3表里字段有 ID, R, S,pid
其中ID是表自身的主键ID,而pid则是三个表的关联id
然后构造sql语句
string sql="select P1.ID,A, B,X,Y,R, S from P1
left join P2 on P1.pid=P2.pid
left join P3 on P1.pid=P3.pid
where P1.ID='"+text1.Text+"'";
应该是这样
P1表里字段有 ID, A, B,pid
P2表里字段有 ID, X, Y,pid
P3表里字段有 ID, R, S,pid
其中ID是表自身的主键ID,而pid则是三个表的关联id
然后构造sql语句
string sql="select P1.ID,A, B,X,Y,R, S from P1
left join P2 on P1.pid=P2.pid
left join P3 on P1.pid=P3.pid
where P1.ID='"+text1.Text+"'";
#6
就是不用DataGrid控件做, 因为那个控件是表形式呈现的
比如DataGrid控件做的是这种结果
ID A B X Y R S
1001 1 2 10 11 33 32
我想要得结果是
ID:1001 A:1 B;2
X:10 Y:11 R:33
S:32
比如DataGrid控件做的是这种结果
ID A B X Y R S
1001 1 2 10 11 33 32
我想要得结果是
ID:1001 A:1 B;2
X:10 Y:11 R:33
S:32
#7
在DataGird中建一模版列,放入表格,格式自定。
#8
大家帮帮我啊
#9
string s1=A;
string s2=B;
string s3=C;
<table>
<tr><td><%=s1%></td><td></td></tr>
<tr><td><%=s2%></td><td><%=s3%></td></tr>
</table>
不就可以了么。不就一个格式问题.
string s2=B;
string s3=C;
<table>
<tr><td><%=s1%></td><td></td></tr>
<tr><td><%=s2%></td><td><%=s3%></td></tr>
</table>
不就可以了么。不就一个格式问题.
#10
即然不关联那就用一个ID值去查三次不同的表来得出结果,然后用label接收,想放哪就放哪.
#11
不是有三个东西可以用的吗?datagrid之外还有两个选择
建立sql语句用singlepine(小山) 的方法可以了
至于做成你那个样式,用Repeater 可以了
建立一个三行三列表格
把表格放在<asp:Repeater id="rptUserName" runat="server"><ItemTemplate>与</ItemTemplate></asp:Repeater>之间
样板代码(复制到vs2003测试):
<asp:Repeater id="rptUserName" runat="server"><ItemTemplate><table><tr><td>ID:<%#DataBinder.Eval(Container.DataItem,"ID")%></td><td>A:<%#DataBinder.Eval(Container.DataItem,"A")%></td><td>B:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td></tr><tr><td></td><td>X:<%#DataBinder.Eval(Container.DataItem,"X")%></td><td>Y:<%#DataBinder.Eval(Container.DataItem,"Y")%></td></tr><tr><td></td><td>R:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td><td>S:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td></tr></table></ItemTemplate></asp:Repeater>
建立sql语句用singlepine(小山) 的方法可以了
至于做成你那个样式,用Repeater 可以了
建立一个三行三列表格
把表格放在<asp:Repeater id="rptUserName" runat="server"><ItemTemplate>与</ItemTemplate></asp:Repeater>之间
样板代码(复制到vs2003测试):
<asp:Repeater id="rptUserName" runat="server"><ItemTemplate><table><tr><td>ID:<%#DataBinder.Eval(Container.DataItem,"ID")%></td><td>A:<%#DataBinder.Eval(Container.DataItem,"A")%></td><td>B:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td></tr><tr><td></td><td>X:<%#DataBinder.Eval(Container.DataItem,"X")%></td><td>Y:<%#DataBinder.Eval(Container.DataItem,"Y")%></td></tr><tr><td></td><td>R:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td><td>S:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td></tr></table></ItemTemplate></asp:Repeater>
#12
不明白你要做什么?三个表的关系如何?你要取得数据和你输入的ID什么关系?
#13
代码小小混乱,不好意思
#1
救救我啊 555
#2
不明白什么意思
#3
“随意布置在页面的任何位置”什么意思啊
#4
3个表里ID字段值都不同??
----------------------
3個表是通過ID來關連嗎?
----------------------
3個表是通過ID來關連嗎?
#5
你的表设计的有问题,三个必须有关联关系才可以,否则是做不到的,因为某个表记录是多条时就没法确定该取那条。
应该是这样
P1表里字段有 ID, A, B,pid
P2表里字段有 ID, X, Y,pid
P3表里字段有 ID, R, S,pid
其中ID是表自身的主键ID,而pid则是三个表的关联id
然后构造sql语句
string sql="select P1.ID,A, B,X,Y,R, S from P1
left join P2 on P1.pid=P2.pid
left join P3 on P1.pid=P3.pid
where P1.ID='"+text1.Text+"'";
应该是这样
P1表里字段有 ID, A, B,pid
P2表里字段有 ID, X, Y,pid
P3表里字段有 ID, R, S,pid
其中ID是表自身的主键ID,而pid则是三个表的关联id
然后构造sql语句
string sql="select P1.ID,A, B,X,Y,R, S from P1
left join P2 on P1.pid=P2.pid
left join P3 on P1.pid=P3.pid
where P1.ID='"+text1.Text+"'";
#6
就是不用DataGrid控件做, 因为那个控件是表形式呈现的
比如DataGrid控件做的是这种结果
ID A B X Y R S
1001 1 2 10 11 33 32
我想要得结果是
ID:1001 A:1 B;2
X:10 Y:11 R:33
S:32
比如DataGrid控件做的是这种结果
ID A B X Y R S
1001 1 2 10 11 33 32
我想要得结果是
ID:1001 A:1 B;2
X:10 Y:11 R:33
S:32
#7
在DataGird中建一模版列,放入表格,格式自定。
#8
大家帮帮我啊
#9
string s1=A;
string s2=B;
string s3=C;
<table>
<tr><td><%=s1%></td><td></td></tr>
<tr><td><%=s2%></td><td><%=s3%></td></tr>
</table>
不就可以了么。不就一个格式问题.
string s2=B;
string s3=C;
<table>
<tr><td><%=s1%></td><td></td></tr>
<tr><td><%=s2%></td><td><%=s3%></td></tr>
</table>
不就可以了么。不就一个格式问题.
#10
即然不关联那就用一个ID值去查三次不同的表来得出结果,然后用label接收,想放哪就放哪.
#11
不是有三个东西可以用的吗?datagrid之外还有两个选择
建立sql语句用singlepine(小山) 的方法可以了
至于做成你那个样式,用Repeater 可以了
建立一个三行三列表格
把表格放在<asp:Repeater id="rptUserName" runat="server"><ItemTemplate>与</ItemTemplate></asp:Repeater>之间
样板代码(复制到vs2003测试):
<asp:Repeater id="rptUserName" runat="server"><ItemTemplate><table><tr><td>ID:<%#DataBinder.Eval(Container.DataItem,"ID")%></td><td>A:<%#DataBinder.Eval(Container.DataItem,"A")%></td><td>B:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td></tr><tr><td></td><td>X:<%#DataBinder.Eval(Container.DataItem,"X")%></td><td>Y:<%#DataBinder.Eval(Container.DataItem,"Y")%></td></tr><tr><td></td><td>R:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td><td>S:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td></tr></table></ItemTemplate></asp:Repeater>
建立sql语句用singlepine(小山) 的方法可以了
至于做成你那个样式,用Repeater 可以了
建立一个三行三列表格
把表格放在<asp:Repeater id="rptUserName" runat="server"><ItemTemplate>与</ItemTemplate></asp:Repeater>之间
样板代码(复制到vs2003测试):
<asp:Repeater id="rptUserName" runat="server"><ItemTemplate><table><tr><td>ID:<%#DataBinder.Eval(Container.DataItem,"ID")%></td><td>A:<%#DataBinder.Eval(Container.DataItem,"A")%></td><td>B:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td></tr><tr><td></td><td>X:<%#DataBinder.Eval(Container.DataItem,"X")%></td><td>Y:<%#DataBinder.Eval(Container.DataItem,"Y")%></td></tr><tr><td></td><td>R:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td><td>S:<%#DataBinder.Eval(Container.DataItem,"QQ")%></td></tr></table></ItemTemplate></asp:Repeater>
#12
不明白你要做什么?三个表的关系如何?你要取得数据和你输入的ID什么关系?
#13
代码小小混乱,不好意思