表h
   100     200     300     400
a  10      20      30      40
b  20      30      40      50
c  30      50      60      80
 
a 、b、c为物质种类,1、2、3、4为对应的温度。我想进行数据查询,当edit输入温度时,m等于此温度对应下a的值,n,k分别等于b、c此温度对应下的值。
例如当edit输入200 ,m=20,n=30,k=50.m、n、k怎么赋值呢?是用SQL中select语句吗?然后用他们计算x=2*m+3*n+4*k
我用的是ADOconnection、ADOQuery、Datasource不知道怎么办?
我初学数据库希望大家指教!

解决方案 »

  1.   

    放dbedit三个,设置它的字段分别为a,b,c然后在输入完成后select * from 表名 where d='200'
      

  2.   

    但是a,b,c是不显示出来的,而且我想根据edit输入值给m,n,k赋数据库里的值,也就是说行和列对应唯一一个值,我是不是的把a,b,c分开成3个表,一个表里能完成吗?
    m:='select * from  表a where 当温度=edit1.text,n:='select*from表b where 当温度=edit1.text依次类推.我不太会写select语句,不知道应该怎么写赋值,select是不是不能赋值给变量啊是什么型的数据啊?希望大家帮帮我
      

  3.   

    放在一个表里当然可以,没有问题,不过要是abc的种类增加了,可能麻烦一些。
    可以用一个笨方法,用一个select语句,比如'select * from 表1 where 温度='+edit1.text
    然后用三个edit显示查询的三个结果,可以把三个edit的visable属性设为false,然后再保存结果。
      

  4.   

    怎么用 edit显示结果呢?select查询语句怎么转换才能赋值给其他变量呢?m:=???‘select*from 表where温度=’edit1.text
      

  5.   

    如果用一个select语句的话,数据表的字段应该是(温度,a,b,c)记录值为(200,20,30,50),如果这样的话一条select语名就可以解决,不过如果以后象a,b,c这样的字段还要增加的话比较麻烦,得修改程序
    如果在一个表里可以这样写:
    在查询里写sql语句:select * from 表 where 温度=eidt1.text
    然后给m,n,k赋值
    m:=ADOQuery['a'];
    n:=ADOQuery['b'];
    k:=ADOQuery['c'];
    这是一个大体的思路,具体的代码你自已完善和修改吧