关于SQL数据库的一个小白问题:
关于SQL数据库的一个小白问题:我在J#的查询编辑器里搞了下面的查询
SELECT ID, 姓名, 性别, 学号, 密码, 联系方式, 身份证号, 出生日期
FROM student
WHERE (学号 = '11')
这样就把学号为11的学生找出来了,现在问题来了,我想从textBox1中输入一个学号,然后传给WHERE,怎么传哦?我怎么改都不行...郁闷...
SELECT ID, 姓名, 性别, 学号, 密码, 联系方式, 身份证号, 出生日期
FROM student
WHERE (学号 = '"+this.textBox1.get_Text()+"') (失败!)
SELECT ID, 姓名, 性别, 学号, 密码, 联系方式, 身份证号, 出生日期
FROM student
WHERE (学号 = '"+textBox1.get_Text()+"') (失败!)
SELECT ID, 姓名, 性别, 学号, 密码, 联系方式, 身份证号, 出生日期
FROM student
WHERE (学号 = ''+textBox1.text.ToString()) (还是失败!)
哪位牛人帮帮我...万分感激!!!
--------------------编程问答-------------------- string sql="SELECT ID, 姓名, 性别, 学号, 密码, 联系方式, 身份证号, 出生日期 FROM student WHERE (学号 =@xx);
SqlCommand cmd=new SqlCommand(cmd,Conn);
SqlParameter p=new SqlParameter("@xx",SqlDataType.Varchar);
p.Value=textBox1.Text;
cmd.Parameters.Add(p);
cmd.ExecuteReader(); --------------------编程问答-------------------- 失败的错误是什么 --------------------编程问答-------------------- 失败的错误就是无法获取学号为11的学生,可是我在textBox1里已经输了11了...
--------------------编程问答--------------------
正解! --------------------编程问答-------------------- 数据类型错误吧。 --------------------编程问答-------------------- string query="SELECT ID, 姓名, 性别, 学号, 密码, 联系方式, 身份证号, 出生日期 FROM student WHERE 学号 = '"+textBox1.text.trim()+"'";
不需要什么括号 --------------------编程问答-------------------- 2楼的方法貌似不行....我是在J#环境下编的,我import java.sql.*后再输入你那个语句会提示错误,SqlCommand没有这个函数或方法....
J#里自带了一个查询编辑器,是图形化的,它会自动添加代码...只是WHERE后的要自己加进去
我WHERE (学号 = '11')就可以找到学号为11的学生
但是WHERE (学号 = '"+textBox1.get_Text()+"')等返回的都是NULL,而我textBox1里已经输入了11 --------------------编程问答-------------------- 段点,跟踪,把程序的sql ,在查询分析器里执行下,就知道原因了 --------------------编程问答-------------------- 用存储过程吧,拼写sql是很不安全的 --------------------编程问答-------------------- 要括号的![img=http://hi.baidu.com/squid007/album/item/6df5638d2d55db01b21bba49.html][/img] --------------------编程问答-------------------- 汗..图片上传不了....郁闷... --------------------编程问答-------------------- 我再传一遍 --------------------编程问答-------------------- 肯定是数据类型的错误,自己看看数据库型
get_Text()这个东西我怎么没见过。自己写的吗 --------------------编程问答-------------------- import java.sql.sqlClient;试试 --------------------编程问答--------------------
import java.sql.sqlClient;试试 --------------------编程问答-------------------- 而且,你原来的sql语句是错误的!应该是这样的:
SELECT ID, 姓名, 性别, 学号, 密码, 联系方式, 身份证号, 出生日期
FROM student
WHERE 学号 = '"+this.textBox1.get_Text()+"'";
不过这样容易被注入,还是加参数的比较安全! --------------------编程问答-------------------- 依然不行......... --------------------编程问答-------------------- 而且import java.sql.后面就没有sqlClient这个东东.... --------------------编程问答-------------------- 还有,我的编程环境是J#,它几乎全是图形化操作,自己几乎不用加代码........截图里WHRER以上的所有代码是它自动生成的,WHERE (学号='11')是我自己添加的,运行后通过了
改成WHERE (学号='"+textBox1.get_Text()+"')就不行了,我估计这里把"+textBox1.get_Text()+"整个当成一个字符串来判断了,也就是它根本没有去读取Form1.textBox1里的内容~~
补充:.NET技术 , C#