-----为了讲解方便---补全部分代码---
-----为了区分双引号和单引号,直接用改成中文状态的,在实际中英文的。
String username = “”;//具体的一个条件值
String password = “”;//具体的要给条件值.
String sql =“ select * from user where username='zhangsan' and password='123456' ”;
------------
以上这条sql语句是查询username = 'zhangsan' and password = '123456'的user 信息.
你会发现只能查询固定的 username = 'zhangsan' and password = '123456'的信息,不能进行改变。
如果我要查询 uername = 'lisi';的根本就更改不了,所以要将zhangsan换成变量.
改写如下:
String sql =“ select * from user where username='”+username+“' and password='”+password+“' ”;
说明:“ select * from user where username='” 这是字符串的一部分:username是一个字符串
+username+ :字符串的连接 ,username是一个字符串变量.
“' and password='”: 连接两外一个字符串
+password+ :在加上一个变量。
首先你这个绝对写错了,正确应该是
sql="select * from user where username='"+username+"'and password='"+password+"'";
引号的意思是给sql这个String变量赋值,引号内的内容是sql变量的值;
小引号是给sql命令的字段赋值,因为存在变量赋值,所以相当于一个字符串拼接,第一个username是user表里的字段名,第二个username是你要给这个字段赋值的内容
举个例子:
int age = 10;
System.out.println("my age is "+age+",i am a bigdog");
这是用来把一个变量放到一个String中。还记得String类型与其他类型是通过+号进行连接吗,
System.out.println("i am"+age);
现在前后都有+号,只不过是因为后面还有String
System.out.println("i am"+age+"yeatr old");
单引号是sql语句中:
举个例子:
select * from table where name='aaa';
单引号就是=号后的只要是String类型的就要加上‘’。
懂了没?
"select * from user where username='"+username+"'and password='"+password+"'"
即select * from user where username='yourusername' and password='yourpassword'
“”是java的字符串,‘’是SQL的字符串。
“”是String字符串,连接时用+
而SQL语句如果是字符串这用' '
select * from user where username=username=‘ username ’ and password = ' password '
SQL原句