当前位置:首页 » 编程语言 » sql预编译插入用户信息
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql预编译插入用户信息

发布时间: 2023-01-16 21:50:12

‘壹’ 用sql代码写一个学生信息数据库包括姓名,学号,性别,年龄,冰写出一条插入信息语句

CREATE DATABASE Students
ON PRIMARY
(
NAME = 'STU_DATA',
FILENAME = 'C:\MYSQL\SUT_DATA.MDF',
SIZE = 5,
FILEGROWTH = 15%
)
LOG ON
(
NAME = STUL_DATA',
FILENAME = 'C:\MYSQL\SUTL_DATA.LDF',
SIZE = 5,
FILEGROWTH = 10%,
)
GO
USE Students
CREATE TABLE Student
(
学号 INT NOT NULL PRIMARY KEY,
性别 NVARCHAR(10) NOT NULL,
年龄 NVARCHAR(10) NOT NULL,
)
GO
INSERT Student VALUSE (01,'男','20')

‘贰’ 用sql命令在员工表中添加自己的信息,必须包括学号,姓名

是更新吗?

update 员工表 set 学号='xxxx' ,姓名='张三' where 员工id = 12324;

插入的话:
insert into 员工表(员工id,学号,姓名,....) values(12345,'xxxx','张三',....);

‘叁’ java预编译的问题,其中sql语句执行不了,其他插入什么的都正常,望指点~

pstmt.setString(1,user.getId()+"");
pstmt.setString(2,user.getName());
pstmt.setString(3,user.getPwd());
这是以占位符方式设置 sql的参数值。
你的sql语句String sql = "select id,name,pwd from userinfo where id=10007";
没有用到,所以这几句删了就行了。或者改为:
String sql = "select id,name,pwd from userinfo where id=?";
pstmt.setString(1,user.getId()+"");

‘肆’ 怎么用sql实现新用户注册信息写进数据库

熟悉连接数据库,然后编写添加新用户的方法,最后调用这个方法实现新用户的添加

‘伍’ SQL注入的防范 使用预编译语句

预编译语句PreparedStatement是 java.sql中的一个接口,继承自Statement 接口。通过Statement对象执行SQL语句时,需要将SQL语句发送给DBMS,由 DBMS先进行编译后再执行。而预编译语句和Statement不同,在创建PreparedStatement对象时就指定了SQL语句,该语句立即发送给DBMS进行编译,当该编译语句需要被执行时,DBMS直接运行编译后的SQL语句,而不需要像其他SQL语句那样先将其编译。引发SQL注入的根本原因是恶意用户将SQL指令伪装成参数传递到后端数据库执行。作为一种更为安全的动态字符串的构建方法,预编译语句使用参数占位符来替代需要动态传入的参数,这样攻击者无法改变SQL语句的结构,SQL语句的语义不会发生改变,即便用户传入类似于前面' or '1'='1这样的字符串,数据库也会将其作为普通的字符串来处理。