关于与数据库里数据进行比较的问题

来源:百度知道 编辑:UC知道 时间:2024/07/06 13:56:51
是webform的,我建了个textbox,一个button,在textbox中输入int类型数据,然后按下button后,textbox中的数据会和数据库里相应的数据比较,从而决定下一步操作。各位大侠帮帮忙,说下具体的思路,最好能有个例子,有程序的。谢谢哦!
还有,输入的int类型数据与要比较的数据在数据库中不是同一张表的。字段名也不一样。
table1 : portname(港口名), bz20(该港口能容纳的类型为20标准的集装箱总数)
table2 :portname, kc20(类型为20的集装箱库存数)
我有两个textbox名为港口名,标准20。输入要修改港口名和它的20标准,如果20标准小于数据库中现有的库存,报错。
呵呵,输入的标准20就是bz20,也就是最大集装箱数了,所以库存要小于标准20。我实际的表不只只有这么点字段名,为了方便我简略了。
我输入的数字是int型的,转成string型也可以做比较吗?
还有个问题就是我有另一个功能,删除和添加港口的集装箱,删除或添加后港口库存就要减一或加一,减一的话好办,如果库存为零的话,就没有这个集装箱名,操作自然就不行,库存也不会再减为负数,如果是添加的话,就要先查下库存是否等于标准20,是的话操作失败,否的话执行添加。我要问的是添加后要在表中table2中把kc加1,这个是用sql语言来完成的吗?除了sql还有什么方法吗?还有我上面的分析尤其是关于库存不会再减为负数的分析对吗?谢谢你了,我给你加分。

问题时明白了,但是我不知道你的表是什么样子。把表名和表结构发上来看一下。
思路很简单,就是 在button里加上连接数据库,用SQL语句把textbox的值传过去(当然首先要判断textbox是不是空),得到返回值,进行以后的操作。
SqlConnection Miss =new SqlConnection("server=服务器地址;database=数据库名;uid=服务器名;pwd=服务器密码");
Miss.Open();
SqlDataAdapter adp=new SqlDataAdapter();
adp.SelectCommand = new SqlCommand("select kc20 from table2 where table2.portname ='"+ 港口名.text"'", Miss);
DataSet ds=new DataSet();
string NUM = ds.Table[0].Rows.[0][0].ToString();
if (NUM > 标准20.Text)
{
MessageBox.Show("错误20标准小于数据库中现有的库存");
}
要是这样的话用不到两个表,你是不是还要判断输入的20标准不能大于该港口能容纳的类型为20标准的集装箱总数呀???要是那样的话就这么写:
SqlConnection Miss =new SqlConnection("server=服务器地址;database=数据库名;uid=服务器名;pwd=服务器密码");
Miss.Open();
SqlDataAdapter adp=new SqlDataAdapter();
adp.SelectCommand = new SqlCommand("select table2.kc20,table1.bz20 from table2,table1 where table2.por