是这样的, 我数据库有3个表, P1,P2,P3表  
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:7S: 8
  
最好不用DataGrid控件,让得出的结果可以随意布置在页面的任何位置请给我写一个简单详细的代码,我好用

解决方案 »

  1.   

    你的表设计的有问题,三个必须有关联关系才可以,否则是做不到的,因为某个表记录是多条时就没法确定该取那条。应该是这样
    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+"'";
      

  2.   

    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>
      

  3.   

    不是有三个东西可以用的吗?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>