sql-向数据库中传入String变量

问题描述

向数据库中传入String变量
String sql = ""insert into User values('"" + username + ""''""+
password1 + ""''"" + sex + ""''"" + phoneNumber + ""''""+
email + ""''"" + hobby + ""')"";
st.executeUpdate(sql);

应该是这里 哪里错了呢
com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'User' 附近有语法错误。

解决方案

 user在sqlserver中是关键字,需要[user]方式表示 String sql = ""insert into [User] values('"" + username + ""''""+ password1 + ""''"" + sex + ""''"" + phoneNumber + ""''""+email + ""''"" + hobby + ""')"";

解决方案二:
String sql = ""insert into User values(???????)"";
然后
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(1username);
.
.
.
pstm.executeUpdate();
这个就不需要拼接

解决方案三:
拿syso输出一下就知道了
另外这样写程序容易被sql注入 建议用楼上写法

解决方案四:
个人觉得还是不要用user一个表名的好

解决方案五:
user是关键字或者你可以给它起个别名

解决方案六:
支持下 danielinbiti, 不同数据库都有很多不同的保留字,sqlserver里面可以用 []

解决方案七:
拿syso输出一下就知道了

解决方案八:
建议二楼的方法。不然,单双引号很容易造成sql语句有问题。

解决方案九:
User在SQL Server作为dbo.User可以被识别出。
只是在代码中美哟解决对象命名。这需要在SQLServer和代码两边协调来解决。

解决方案十:
建议2楼,不然注入式攻击

时间: 2025-01-21 17:16:56

sql-向数据库中传入String变量的相关文章

在SQL Server数据库中拆分字符串函数

SQL Server数据库中拆分字符串函数的具体方法: CREATE FUNCTION uf_StrSplit '1.1.2.50','.' (@origStr varchar(7000), --待拆分的字符串 @markStr varchar(100)) --拆分 标记,如',' RETURNS @splittable table ( str_id varchar(4000) NOT NULL, --编号ID string varchar(2000) NOT NULL --拆分后的字符串 )

ASP.NET中存取SQL Server数据库中的图片

SQL Server提供了一个特别的数据类型:image,它是一个包含binary数据的类型.下边这个例子就向你展示了如何将文本或照片放入到数据库中的办法.在这篇文章中我们要看到如何在SQL Server中存储和读取图片. 1.建立一个表: 在SQL SERVER中建立这样结构的一个表: 列名 类型 目的 ID Integer 主键ID IMGTITLE Varchar(50) 图片的标题 IMGTYPE Varchar(50) 图片类型. ASP.NET要以辨认的类型 IMGDATA Imag

sql-在Csharp中实现SQL Server数据库中的UniqueIdentifier数据类型

问题描述 在Csharp中实现SQL Server数据库中的UniqueIdentifier数据类型 实现对数据库的条件查询表结构:表数据示例:错误信息:1.2. 解决方案 你注意,一个是lid,一个是selllistno,不是一个字段,前者是guid 解决方案二: 你这个是流水号,一个string,不是guid,没法转,用string就可以了. 解决方案三: 解决方案四: uniqueidentifier数据类型可存储16字节的二进制值,其作用与全局唯一标记符(GUID)一样.GUID是唯一的

Sql server 数据库中,纯SQL语句查询、执行 单引号问题。

原文:Sql server 数据库中,纯SQL语句查询.执行 单引号问题. 在默认值情况下, select 'abc',Titile from tb_Name;  ---输出内容 是abc: 如果想输出 单引号 'abc,需要使用select '''abc',Titile from tb_Name; ---这里用三个单引号'''abc: select '''abc''',Title from tbName;   输出内容是'abc':两边带有单引号: 谨记:如果字符串包含单引号,则需要在单引号前

SQL Server 数据库中的几个常见的临界值

原文:SQL Server 数据库中的几个常见的临界值     本文出处:http://www.cnblogs.com/wy123/p/6709520.html    1,SQL语句或者存储过程的最大长度(SQL字符串容量)是多少? 经常有人问,我的SQL语句是拼凑出来的,可能很长,如果太长了,是不是SQL Server支持不动了? SQL语句的或者存储过程的最大长度是65,536 * Network packet size,那么这个Network packet size是个什么鬼? 参考如下截

C#从SQL server数据库中读取l图片和存入图片

原文:C#从SQL server数据库中读取l图片和存入图片 本实例主要介绍如何将图片存入数据库.将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStream类.BinaryReader把图片读成字节的形式,赋给一个字节数组,然后用ADO.SqlCommand对象的ExecuteNonQuery()方法来把数据保存到数据库中.主要代码如下:     private void button1_Click(object sender, EventArg

sql删除数据库中所有表与数据语句

使用sql删除数据库中所有表是不难的,就是遍历一下数据库中所有用户表,并将它清除,下边是具体的sql语句,在关键部分已经作了详细的注释:  代码如下 复制代码 --变量@tablename保存表名 declare @tablename nvarchar(100) --将用户表全部保存到临时表#tablename中 SELECT [name] into #tablename FROM sysobjects WHERE type = 'U'; --当#tablename有数据时 while(sele

如何将上传图片直接保存至SQL Server数据库中

这里演示的是如何将上传图片直接保存至SQL Server数据库中. 在数据库中,图片使用varbinary(MAX)存储: 这是个基于MVC3架构的例子.废话不多说,直接上代码: View: @{     ViewBag.Title = "UpLoadImg"; } @using (Html.BeginForm("Create", "UpLoadImg", FormMethod.Post, new { enctype = "multip

Excel表数据导入Sql Server数据库中两种办法

方法一,程序导入 C#.ASP.NET中将Excel表中的数据导入到Sql Server数据库中对应的表中. 这里我们将E:\test.xls中Sheet1表中的数据导入到test数据库中的my_test表中. 软件:VS2005,SQL Server2000, test.xls中Sheet1表中有三个字段,编号.名称.备注.具体内容如下图. 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段 tid int类型, tname nvarchar类型, tt nvarc