C#SQL INSERT INTO语法错误? [英] C# SQL INSERT INTO Syntax Error?

查看:108
本文介绍了C#SQL INSERT INTO语法错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题:
我有一个带有按钮的WPF应用程序,单击该按钮将创建一个用户名和密码并将其插入到我的数据库中.该数据库是在Microsoft Access 2007中创建的.问题是当我编译并运行该数据库时,出现错误消息"INSERT INTO命令中的语法错误",或达到此目的的某个错误.关键是,我有一个迫切需要答案的问题.
信息:
操作系统:Windows 7 Ultimate-x64
编译器:Visual Studio 2010 Ultimate
语言:C#4.0 WPF
数据库应用程序:Microsoft Access 2007

我正在使用SQL,而不是MySQL

我的代码:

Problem:
I have a WPF Application that has a button that when clicked will create a username and password and insert it into my database. The database was created in Microsoft Access 2007. The problem is when I compile and run it I get an error that says "Syntax Error in INSERT INTO command", or something to that effect. Point being, I have a problem that is in desperate need of an answer.
Info:
OS: Windows 7 Ultimate - x64
Compiler: Visual Studio 2010 Ultimate
Language: C# 4.0 WPF
Database Application: Microsoft Access 2007

I''m using SQL, not MySQL

My Code:

if (strDesiredPassword.Text == strDesiredPassword2.Text && String.IsNullOrWhiteSpace(strDesiredUser.Text) == false)
            {
                string insertCMD = "INSERT INTO LoginTable (User,Pass) VALUES (@User,@Pass)";
                string ConnStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=G:\MedDesk\Login.accdb;";
                using (OleDbConnection MyConn = new OleDbConnection(ConnStr))
                {
                    try
                    {//insertCommand.Parameters.Add("Time", OleDbType.Char).Value = strTime;
                        MyConn.Open();
                        OleDbCommand Cmd = new OleDbCommand(insertCMD, MyConn);
                        Cmd.Parameters.Add("@User", OleDbType.Char).Value = strDesiredUser.Text;
                        Cmd.Parameters.Add("@Pass", OleDbType.Char).Value = strDesiredPassword2.Text;
                        Cmd.ExecuteNonQuery();
                        MyConn.Close();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }

            }

推荐答案

我怀疑User是Access中的保留字-因此您不能按原样使用它,需要将它括起来方括号

I suspect that User is a reserved word in Access - so you can''t use it as is, you need to surround it with square brackets

string insertCMD = "INSERT INTO LoginTable ([User],Pass) VALUES (@User,@Pass)";



可能会做到



will probably do it


这篇关于C#SQL INSERT INTO语法错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆