如何从文本框中的数据库中选择最大值

时间:2017-08-15 17:04:00

标签: c# sql oracle textbox

我有简单的表项和文本框textbox1现在我想在文本框中显示最大值我使用命令但代码不起作用

  

项目表:CREATE TABLE TableItem(ItemId NUMBER(10)NOT NULL,   ItemName VARCHAR2(40)NOT NULL,UnitId NUMBER(10)NOT NULL,   CategoryId NUMBER(10)NOT NULL,ItemStatus NUMBER(1)NOT NULL,   SupplierId NUMBER(10)NOT NULL);

和项目表插入数据:

INSERT INTO TableItem(ITEMID,ITEMNAME,UNITID,CATEGORYID,ITEMSTATUS,SUPPLIERID)
VALUES(01,'Product-1',21,10,1,51);
INSERT INTO TableItem(ITEMID,ITEMNAME,UNITID,CATEGORYID,ITEMSTATUS,SUPPLIERID)
VALUES(02,'Product-2',22,11,1,52);
INSERT INTO TableItem(ITEMID,ITEMNAME,UNITID,CATEGORYID,ITEMSTATUS,SUPPLIERID)
VALUES(03,'Product-3',23,12,1,53);
INSERT INTO TableItem(ITEMID,ITEMNAME,UNITID,CATEGORYID,ITEMSTATUS,SUPPLIERID)
VALUES(04,'Product-4',24,14,1,53);
INSERT INTO TableItem(ITEMID,ITEMNAME,UNITID,CATEGORYID,ITEMSTATUS,SUPPLIERID)
VALUES(05,'Product-5',21,12,1,53);
INSERT INTO TableItem(ITEMID,ITEMNAME,UNITID,CATEGORYID,ITEMSTATUS,SUPPLIERID)
VALUES(06,'Product-5',23,12,1,52);

现在我需要itemid的最大值

con.Open();
try
{
    OleDbCommand cmd4 = new OleDbCommand("SELECT MAX(ItemId)  FROM TableItem", con);

    textBoxInsert.Text = cmd4.ExecuteScalar().ToString();

}
finally
{


}

con.Close();

2 个答案:

答案 0 :(得分:0)

您需要创建一个数据适配器,它将根据您的连接在您的数据库中获取您的SQL。之后,您将获得一个表作为结果,因此您只需将其添加到DataTable并获取行。有更多有趣的实现,但使用此代码,您可以看到它是否一切正常,我已经实现了这样的MySQL版本:

.html

在你的情况下,你只需要用OracleClient中的OracleDataAdapter替换MySQLDataAdapter

参考:

https://msdn.microsoft.com/pt-br/library/system.data.oracleclient.oracledataadapter(v=vs.110).aspx

答案 1 :(得分:0)

很简单。我们对将要在数据库中获得的数字进行了双精度计算。

using (MySqlCommand cmd = new MySqlCommand("SELECT MAX(ItemId) FROM TableItem", con))
{
    con.Open();
    double result = (Convert.ToDouble(cmd.ExecuteScalar()));
    textBoxInsert.Text = result.ToString();
}
相关问题