我有一个简单的表项和一个文本框textbox1,现在我想在文本框中显示最大值,我使用的是命令,但是代码不能工作。
项目表:创建表TableItem( ItemId编号(10) NOT NULL,ItemName VARCHAR2(40) NULL,UnitId编号(10) NULL,CategoryId NUMBER(10) NULL,ItemStatus NUMBER(1) NULL,SupplierId编号(10) NULL );
和项目表插入数据:
插入TableItem(ITEMID,ITEMNAME,UNITID,范畴01,ITEMSTATUS,SUPPLIERID)值(01,“Produc-1”,21,10,1,51);插入到TableItem中(ITEMID,ITEMNAME,UNITID,范畴01,ITEMSTATUS,SUPPLIERID)值(02,'Product-2',22,11,1,52);插入TableItem(ITEMID,ITEMNAME,UNITID,UNITID,ITEMSTATUS,SUPPLIERID)值(03,‘Produc-3’,23,12,1,53);插入TableItem(ITEMID,‘Product-2’,22,11,1,52);插入TableItem(ITEMID、ITEMNAME、UNITID、UNITID、ITEMSTATUS、SUPPLIERID)值(03,‘Produc-3’,23,12,53);插入TableItem(ITEMID,‘Produc-2’,22,11,1,52);插入TableItem(ITEMID,ITEMNAME,UNITID,SUPPLIERID)值( ITEMSTATUS,SUPPLIERID)值(03,‘Produc-3’,23,12,1,53);插入TableItem(ITEMID,‘Produc-2’,22,11,1,52);插入TableItem(ITEMID,ITEMNAME,UNITID,SUPPLIERID)值(ITEMID,'Product-3',23,12,1,53);插入TableItem(ITEMID,‘Produc-2’,22,11,1,52);插入TableItem(ITEMID,‘Produc-3’,23,12,53)。插入TableItem(ITEMID、ITEMNAME、UNITID、CATEGORYID、ITEMSTATUS、SUPPLIERID)值(05,“Product-5”,21,12,1,53);插入到TableItem(ITEMID、ITEMNAME、UNITID、CATEGORYID、ITEMSTATUS、SUPPLIERID)值(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();发布于 2017-08-15 17:41:22
您需要创建一个数据适配器,它将根据您的连接在数据库中获取SQL。在此之后,您将得到一个结果表,因此只需将其添加到您的DataTable中并获取行。还有更有趣的实现,但是通过这段代码,您可以看到它是否一切正常,我已经实现了这样一个MySQL版本:
DataTable _datatable = new DataTable();
MySQLDataAdapter _adapter = new MySQLDataAdapter("SELECT * FROM TEST_TABLE", connection)
_adapter.Fill(_datatable);
myTextBox.Text = _datatable.Rows[0]["ID"].ToString();在您的情况下,只需将MySQLDataAdapter替换为来自OracleClient的OracleDataAdapter
参考资料:
https://msdn.microsoft.com/pt-br/library/system.data.oracleclient.oracledataadapter(v=vs.110).aspx
发布于 2019-09-29 17:16:40
这很简单。我们取了数据库中的数字的双重结果。
using (MySqlCommand cmd = new MySqlCommand("SELECT MAX(ItemId) FROM TableItem", con))
{
con.Open();
double result = (Convert.ToDouble(cmd.ExecuteScalar()));
textBoxInsert.Text = result.ToString();
}https://stackoverflow.com/questions/45697821
复制相似问题