【问题标题】:ADO.net How do you make a database cell into an integer?ADO.net 如何将数据库单元格变成整数?
【发布时间】:2011-07-07 19:57:14
【问题描述】:

我是 ADO.net 的新手,我学习了如何将内容放入数据网格视图以及如何使用插入/删除命令。但是,我想从数据库中取出一个单元格并将其转换为整数或任何类型的变量。例如,

da.UpdateCommand = new OleDbCommand("UPDATE tbl_Inventory SET 'InOrder = @InOrder', 'OutOrder = @OutOrder' WHERE ItemNum = '@ItemNum'", cs);

da 是我的数据适配器,我想更新此表。我有一个 txt_units 框,我想通过将其添加到 txt_units 来更新 InOrder。我可以设置一个参数(da.UpdateCommand.Parameter.Add ... 等)以将其设置为该特定数字,但首先我想从 tbl_Inventory 中提取信息,以便我可以减去该值。

如果不清楚,我可以更好地解释我的问题...感谢您的帮助!

其他规格...使用 access 数据库、oledb 连接、visual studio 2010、windows 窗体

【问题讨论】:

  • 您需要从该查询字符串中删除所有单引号。

标签: c# visual-studio-2010 ado.net ms-access-2007 oledb


【解决方案1】:

如果我理解正确,您想将文本框中的值(单位)添加到数据库中的当前值?

如果是这样,那么按照以下几行的更新语句应该可以工作:

UPDATE tbl_Inventory SET InOrder = InOrder + @Units WHERE ItemNum = @ItemNum

其中@Units 是一个整数参数,用于指定文本框中的值。我不确定你用 OutOrder 做了什么,所以我把它省略了(-:

【讨论】:

  • 谢谢!解决方案只是一些简单的 SQL,我想的比我需要的要多得多!
【解决方案2】:

你可以使用CAST(COLUMN_NAME AS DATA_TYPE)

UPDATE Table_Name set Active =1
WHERE Cast(Order_ID as bigint) = 23

UPDATE Table_name set Active =1
WHERE Order_ID = Cast(@OrderID as bigint)

【讨论】:

  • 您好,感谢您的回答。我只是想知道这是否应该在 Update.Command 中?或者它可以独立
  • Access/Jet/ACE 的哪些版本支持 CAST()?
猜你喜欢
  • 2022-11-18
  • 2019-07-24
  • 2012-10-11
  • 1970-01-01
  • 1970-01-01
  • 2018-01-27
  • 1970-01-01
  • 2014-08-06
  • 1970-01-01
相关资源
最近更新 更多