c# - 执行 oledbcommand qith 更新查询不会更新数据表
问题描述
我有以下代码
using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Login.DB_Path + ";Jet OLEDB:Database Password=*************"))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand
{
Connection = conn,
CommandText = string.Format("SELECT {1} FROM {0} WHERE {2} = ? AND {3} = ? AND {4} = ? AND {5} = ?",
Constants.tbnm_stock_collapsed,
Constants.clnm_Stock,
Constants.clnm_modelo,
Constants.clnm_colores,
Constants.clnm_tallas,
Constants.clnm_tenda)
};
cmd.Parameters.AddWithValue("?", int.Parse(model));
cmd.Parameters.AddWithValue("?", int.Parse(color));
cmd.Parameters.AddWithValue("?", int.Parse(talla));
cmd.Parameters.AddWithValue("?", Sendfrom_CB.SelectedIndex);
var var_stock = cmd.ExecuteScalar();
int stock;
int.TryParse(Send_Count_TB.Text,out stock);
stock = int.Parse(var_stock.ToString()) - stock;
cmd = new OleDbCommand
{
Connection = conn,
CommandText = string.Format("UPDATE {0} SET {1} = ? WHERE {2} = ? AND {3} = ? AND {4} = ? AND {5} = ?",
Constants.tbnm_stock_collapsed,
Constants.clnm_Stock,
Constants.clnm_modelo,
Constants.clnm_colores,
Constants.clnm_tallas,
Constants.clnm_tenda)
};
cmd.Parameters.AddWithValue("?", stock);
cmd.Parameters.AddWithValue("?", int.Parse(model));
cmd.Parameters.AddWithValue("?", int.Parse(color));
cmd.Parameters.AddWithValue("?", int.Parse(talla));
cmd.Parameters.AddWithValue("?", Sendfrom_CB.SelectedIndex);
int effect = cmd.ExecuteNonQuery();
我已阅读所有文档。所以我正在使用?在查询和 addwithvalue 作为方法上传递参数。我检查了查询并且没有错误(至少我没有看到它)。最糟糕的是,在执行结果中,参数effect
的值为 1,据我所知,这意味着有一行受到影响,但是当我重新加载数据表时,数据库中没有任何变化。
编辑:我添加了一些代码。两者的使用部分相同,选择一个正在工作并提供正确的库存,更新编号。
编辑 2:指向数据库的路径
public static string DB_Path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\folder" + "\\DB.accdb";
解决方案
推荐阅读
- javascript - 谷歌浏览器调用 JS 脚本控制台?
- c++ - 使用另一个类中的原子私有变量访问一个类的成员
- javascript - 变量已经用局部变量定义了吗?如何?
- angular - 错误 406:发送了 Angular 错误的 Accept 标头
- mysql - MySql 使用 Makefile 创建数据库
- node.js - 没有'new'就不能调用类构造函数-带有commonjs的打字稿
- git - “Git Push Heroku Master” - 无法登录 Heroku - Cloud9 IDE
- php - MySQL的更新命令在PHP中不起作用
- c# - 日期时间转换器到特定格式
- python - 如何在 Python 虚拟环境中安装密码学?[未定义符号:__syscall_error]