c# windows窗体(添加信息以访问数据库)[关闭]
Posted
技术标签:
【中文标题】c# windows窗体(添加信息以访问数据库)[关闭]【英文标题】:c# windows form ( adding information to access data base ) [closed] 【发布时间】:2019-02-28 14:04:46 【问题描述】:我正在尝试向数据库添加信息,但总是出错这是我现在的代码
public partial class User : Form
public OleDbConnection conect = new OleDbConnection();
public User()
InitializeComponent();
conect.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Mhamad\Desktop\form\Item.mdb;
Persist Security Info=False;";
private void User_Load(object sender, EventArgs e)
try
conect.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = conect;
command.CommandText = "select * from Item ";
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
combo.Items.Add(reader["Item_Name"].ToString());
conect.Close();
catch (Exception ex)
MessageBox.Show("Error" + ex);
private void combo_SelectedIndexChanged(object sender, EventArgs e)
try
conect.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = conect;
command.CommandText = "select * from Item where Item_Name='"+combo.Text+"'";
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
item_id.Text = reader["Item_ID"].ToString();
Price.Text = reader["Item_Price"].ToString();
conect.Close();
catch(Exception ex)
MessageBox.Show("Error" + ex);
private void Buy_Click(object sender, EventArgs e)
try
conect.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = conect;
command.CommandText = "insert into Admin_Items ([Item_Name],[Price]) value('" + combo.Text + "','" + Price.Text + "')";
MessageBox.Show("Success");
command.ExecuteNonQuery();
catch (Exception ex)
MessageBox.Show("Error" +ex);
所以这是我现在的代码,当我尝试将信息添加到数据库时,总是给我这个错误Error code 这是我的数据库database pic 我使用该代码为我的注册表单插入数据,并且没有问题 我想将组合框中显示的项目和价格添加到数据库之后,我想将该数据库链接到要显示的管理表单 但我现在被困在这里 这是错误代码 System.Data.OleDb.OleDbException:'找不到输出表'Admin_Items'。' 从代码 command.ExecuteNonQuery();
【问题讨论】:
在插入查询中应该是 VALUES,而不是... VALUE (...
。
... 我强烈建议您使用参数而不是连接 SQL 语句的值。 Exploits Of A Mom.
@Filburt 我也改了,现在还是不行:(谢谢
除了“不起作用”之外,您还需要给我们更多的帮助。调试并检查插入语句 - 如果您仍然收到 SQL 语法错误,我们需要查看发送到数据库的内容。
@Filburt 将是初学者,这是我的拼贴项目,我不知道该提供更多内容,实际上我给出了错误,并且代码以及数据库都已连接并且可以正常工作,其他表单可以正常工作但没有问题我不知道为什么会出现这个错误
【参考方案1】:
您应该编辑插入查询
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into Admin_Items (Item_Name ,Price) values (@item, @price)";
cmd.Parameters.AddWithValue("@item", combo.Text);
cmd.Parameters.AddWithValue("@price", Price.Text);
希望会成功
看看this
【讨论】:
没用 :( 但是谢谢 :) 编辑@MhamadAras 我将 cmd 更改为 command 但它没有工作它说错误在 command.ExecuteNonQuery(); 已编辑,重试 @MhamadAras 告诉我们“它不起作用”是没有用的。给我们错误信息。使用更新的代码更新您的问题。以上是关于c# windows窗体(添加信息以访问数据库)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 窗体应用程序 C# 中以编辑模式将值绑定到组合框
什么是最佳选择,Windows 窗体或 C# 中的 WPF 开发?
急求C#窗体操作VSTO如何向word模板中的特定文本框添加图文信息
具有 Ms 访问权限的 C# Windows 窗体应用程序无法插入数据