
在String
value
=
rsgetString("name");
之前要先rsnext();一下
你用这个来判断密码错误?
if(!rsisBeforeFirst()){
JOptionPaneshowMessageDialog(frame,
"Wrong
password!");
}
isBeforeFirst()
的意思是:获取光标是否位于此
ResultSet
对象的第一行之前。
要使用mysql的jar包,数据库名为test,表名shop,列名shopName
package comyunix;
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
public class Test {
public static void main(String []args){
Connection con = getAccessCon();
try {
Statement st = concreateStatement();
ResultSet rs = stexecuteQuery("select from shop");
while(rsnext()){
Systemoutprintln(rsgetString("shopName"));
}
rsclose();
stclose();
conclose();
} catch (SQLException e) {
eprintStackTrace();
}
}
public static Connection getAccessCon(){
Connection con = null;
try{
ClassforName("commysqljdbcDriver")newInstance();
con=DriverManagergetConnection("jdbc:mysql://localhost:3306/testuser=root&password=root");
}catch(Exception e){
eprintStackTrace();
}
return con;
}
}
给你个例子供你参考
<span style="font-size:14px;">#import "StudentDataBaseh"#import "DBh"
#import "StudentModelh"
@implementation StudentDataBase
//查找所有数据
+(NSArray )findAll{
sqlite3 db = [DB DBOpen]; //调用DB open方法 获取数据库指针
sqlite3_stmt stmt;//镜像 copy出来的镜像 不影响sqlite里的内容
int result = sqlite3_prepare_v2(db, "select from student", -1, &stmt, Nil);
//-1是不限制字符串的长度 &stmt是往stmt里面赋值 Const char pzTail是设置前面哪个是不用的
NSMutableArray peopels = [NSMutableArray array]; //制作容器 要装数据
//判断结果 0进判断 result==0表示正确
if (SQLITE_OK == result) {
//判断是否有下一行
while (sqlite3_step(stmt) == SQLITE_ROW) {
//int iCol 是第几个
int stuId = sqlite3_column_int(stmt, 0); //取一行中的一个 int是值的类型
const unsigned charchar stuName = sqlite3_column_text(stmt, 1); //取一行中的一个 text是值的类型
const unsigned charchar stuSex = sqlite3_column_text(stmt, 2); //取一行中的一个 text是值的类型
float stuScore = sqlite3_column_double(stmt, 3); //取一行中的一个 double是值的类型
//转换
NSString currentName = [NSString stringWithUTF8String:(const charchar )stuName];
NSString currentSex = [NSString stringWithUTF8String:(const charchar )stuSex];
StudentModel student = [StudentModel studentModelWithId:stuId name:currentName sex:currentSex score:stuScore];
//将model中内容 添加到 之前的容器 数组
[peopels addObject:student];
}
sqlite3_finalize(stmt);//关闭镜像
return peopels;//将这个装有数据的数组 返回
}else{
sqlite3_finalize(stmt);
return [NSArray array]; //如果没进入if 返回一个空数组
}
}
//查找单个数据
+(StudentModel )findPeopleWith:(NSInteger )stuId{
sqlite3 db = [DB DBOpen];
sqlite3_stmt stmt;
int result = sqlite3_prepare_v2(db, "select stuName,stuId,stuSex,stuScore from student where stuId=", -1, &stmt, Nil);
sqlite3_bind_int(stmt, 1, stuId);// 第一个int是第几个问好? 第二个int 是绑定的内容 绑定问好
if (SQLITE_OK == result) {
if (sqlite3_step(stmt) == SQLITE_ROW) {
const unsigned charchar stuName = sqlite3_column_text(stmt, 0);
int stuId = sqlite3_column_int(stmt, 1);
const unsigned charchar stuSex = sqlite3_column_text(stmt, 2);
float stuScore = sqlite3_column_double(stmt, 3);
NSString currentName = [NSString stringWithUTF8String:(const charchar )stuName];
NSString currentSex = [NSString stringWithUTF8String:(const charchar )stuSex];
StudentModel student = [StudentModel studentModelWithId:stuId name:currentName sex:currentSex score:stuScore];
sqlite3_finalize(stmt);
NSLog(@"000");
return student;
}else{
NSLog(@"11111");
return nil;
}
}else{
NSLog(@"222222");
sqlite3_finalize(stmt);
return nil;
}
}
//插入数据
+(void)insertIntoModel:(StudentModel )model{
sqlite3 db = [DB DBOpen];
sqlite3_stmt stmt;
int result = sqlite3_prepare_v2(db, "insert into student values(,,,)", -1, &stmt, Nil);
sqlite3_bind_int(stmt, 1, modelstuId);
sqlite3_bind_text(stmt, 2, [modelstuName UTF8String], -1, Nil);
sqlite3_bind_text(stmt, 3, [modelstuSex UTF8String], -1, nil);
sqlite3_bind_double(stmt, 4, modelstuScore);
if (SQLITE_OK == result) {
if (sqlite3_step(stmt) == SQLITE_DONE) {
NSLog(@"添加成功");
sqlite3_finalize(stmt);
return;
}else{
NSLog(@"添加失败");
sqlite3_finalize(stmt);
return;
}
}else{
NSLog(@"111");
sqlite3_finalize(stmt);
return;
}
}
//更新数据
+(void)updateStuName:(NSString )name stuSex:(NSString )sex stuScore:(CGFloat)score stuId:(NSInteger)stuid{
sqlite3 db = [DB DBOpen];
sqlite3_stmt stmt;
int result = sqlite3_prepare_v2(db, "update student set stuName=,stuSex=,stuScore= where stuId = ", -1, &stmt, Nil);
sqlite3_bind_int(stmt, 4, stuid);
sqlite3_bind_text(stmt, 1, [name UTF8String], -1, Nil);
sqlite3_bind_text(stmt, 2, [sex UTF8String], -1, nil);
sqlite3_bind_double(stmt, 3, score);
if (SQLITE_OK == result) {
if (sqlite3_step(stmt) == SQLITE_DONE) {
NSLog(@"更新成功");
sqlite3_finalize(stmt);
return;
}else{
NSLog(@"更新失败");
sqlite3_finalize(stmt);
}
}else{
NSLog(@"shibai");
sqlite3_finalize(stmt);
}
}
//删除数据
+(void)deleteModelStuId:(NSInteger)stuid{
sqlite3 db = [DB DBOpen];
sqlite3_stmt stmt;
int relust = sqlite3_prepare_v2(db, "delete from student where stuid= ", -1, &stmt, nil);
sqlite3_bind_int(stmt, 1, stuid);
if (SQLITE_OK == relust) {
//step 截段
if (sqlite3_step(stmt) == SQLITE_DONE) {
NSLog(@"删除成功");
sqlite3_finalize(stmt);
return;
}else{
NSLog(@"删除失败");
sqlite3_finalize(stmt);
return;
}
}else{
NSLog(@"删除失败11");
sqlite3_finalize(stmt);
return;
}
}
@end
</span>
Oracle和MySQL都支持Java程序来读取数据库,但是换行回车符号在Oracle和MySQL中的表示不同。Oracle中使用回车换行符号(\r\n),而MySQL中使用换行符(\n)。因此,当在Java程序中读取MySQL数据库中的数据时,需要注意处理换行符号的差异。
以上就是关于java读取MySQL数据库全部的内容,包括:java读取MySQL数据库、使用JDBC连接mysql数据库,读取表test中的数据,并打印、oc读取mysql数据库数据完整代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)