区块链技术博客
www.b2bchain.cn

System.Data.OleDb.OleDbException:INSERT INTO语句中的语法错误 – c#程序员分享

本文介绍了System.Data.OleDb.OleDbException:INSERT INTO语句中的语法错误 – c#程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

    public void RegisterUser(string passw,string uname ,string fname ,string lname, string email) {     string strSql = @"INSERT INTO User (passw,uname,fname,lname,email) values ('" + passw + "','" + uname + "','" + fname + "','" + lname + "','" + email + "')";                                                                cn.Open();     OleDbCommand cmd = new OleDbCommand(strSql,cn);     int yy= cmd.ExecuteNonQuery();     cn.Close();     cn.Dispose();  } 

无论我做什么我都会遇到相同的错误
有人看到这里有问题吗?
或者有另一种创造性的方法来解决这个问题
谢谢

c#大神给出的解决方案

您的代码可以根据用户输入动态更改。这就是导致错误的原因。

让我解释一下,如果您的任何输入字段都包含撇号[‘],则sql会中断,并且现在具有未关闭的引号。

不仅如此,它还会使您的代码受到SQL注入攻击。

所以我建议您使用参数来传递值,因为对参数进行了区别对待,它们既安全又可以防止SQL注入。

    public void RegisterUser(string passw,string uname ,string fname ,string lname, string email) {     string strSql = @"INSERT INTO User (passw,uname,fname,lname,email) values     (@passw,@uname,@fname,@lname,@email)";                                                                cn.Open();     OleDbCommand cmd = new OleDbCommand(strSql,cn);     cmd.Parameters.AddWithValue("@passw",passw);     cmd.Parameters.AddWithValue("@uname",uname);     cmd.Parameters.AddWithValue("@fname",fname);     cmd.Parameters.AddWithValue("@lname",lname);     cmd.Parameters.AddWithValue("@email",email);     int yy= cmd.ExecuteNonQuery();     cn.Close();     cn.Dispose(); } 

System.out.printf不打印整数参数 – java

我是Java编程的新手,无法从另一个类返回方法。这两个类都可以编译并成功运行。我可以从一个类中调用一个简单的int,但是当我想计算用户输入的两个输入整数时,我只会得到一个空格。这是我的计算课class calculations { public final int AGE = 53; public int numbers(int num1, int num2…

LeetCode题解380.insert-delete-getrandom-o1

题目地址(380. 常数时间插入、删除和获取随机元素) https://leetcode-cn.com/problems/insert-delete-getrandom-o1/description/ 题目描述 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。 insert(val):当元素 val 不存在时,向集合中插入该项。 rem…

LeetCode题解? 170. Two Sum III – Data Structure Design

Design and implement a TwoSum class. It should support the following operations: add and find.add – Add the number to an internal data structure.find – Find if there exists any pai…

LeetCode题解211.add-and-search-word-data-structure-design

题目地址(211. 添加与搜索单词 – 数据结构设计) https://leetcode-cn.com/problems/add-and-search-word-data-structure-design/description/ 题目描述 设计一个支持以下两种操作的数据结构: void addWord(word) bool search(word) sea…

.NET核心3:JsonPropertyName的序列化顺序(System.Text.Json.Serialization) – c#

迁移到.NET Core 3时,我已经从Newtonsoft.Json序列化切换到System.Text.Json.Serialization。在所有功能中,我想继续使用JsonPropertyName属性。Newtonsoft版本允许ordering of serialized attributes:[JsonProperty(Order = 1)] pu…

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » System.Data.OleDb.OleDbException:INSERT INTO语句中的语法错误 – c#程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们