public void tt(View v){
Intent intent=new Intent();
//寻卡
String[] cardID = new String[1];
// 寻卡
if (hf.selectCard(1, cardID) < 0) {
Toast.makeText(MainActivity.this, "读卡失败,请重试!", Toast.LENGTH_SHORT).show();
return;
}
if(sqtt.query(DB_TABLE, new String[]{"STUDENTSCARD_id"}, "STUDENTSCARD_id=?", cardID
, null, null, null,null) != null)
{
intent.setClass(MainActivity.this,Dorm.class );
MainActivity.this.startActivity(intent);
}
else
{
Toast.makeText(MainActivity.this, "无用户",Toast.LENGTH_SHORT).show();
}
} public void zc(View v)
{
String[] cardID = new String[1];
if (hf.selectCard(1, cardID) < 0) {
Toast.makeText(MainActivity.this, "读卡失败,请重试!", Toast.LENGTH_SHORT).show();
}
else{
ContentValues cv=new ContentValues();
hf.selectCard(1, cardID);
cv.put("STUDENTSCARD_id", Integer.parseInt(cardID[0]));
if(sqtt.insert(DB_TABLE, null, cv)>0)
{
Toast.makeText(MainActivity.this, "用户注册成功!", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(MainActivity.this, "用户注册失败!", Toast.LENGTH_SHORT).show();
}
}
}
方法tt和zc分别绑定了刷卡验证按钮和注册按钮
其中hf.selectCard()是读取高频读卡器上高频卡的卡号 如果得到了则cardID[0]为String类型的一个值表中的STUDENTSCARD_id字段设置的是int型求解我的查询和添加语句有什么错误?错误现象有2:1.选择zc 则程序直接崩溃2.点击刷卡验证则sqtt.query()不为空直接运行里面的代码:intent.setClass(MainActivity.this,Dorm.class ); MainActivity.this.startActivity(intent);
数据库Java
Intent intent=new Intent();
//寻卡
String[] cardID = new String[1];
// 寻卡
if (hf.selectCard(1, cardID) < 0) {
Toast.makeText(MainActivity.this, "读卡失败,请重试!", Toast.LENGTH_SHORT).show();
return;
}
if(sqtt.query(DB_TABLE, new String[]{"STUDENTSCARD_id"}, "STUDENTSCARD_id=?", cardID
, null, null, null,null) != null)
{
intent.setClass(MainActivity.this,Dorm.class );
MainActivity.this.startActivity(intent);
}
else
{
Toast.makeText(MainActivity.this, "无用户",Toast.LENGTH_SHORT).show();
}
} public void zc(View v)
{
String[] cardID = new String[1];
if (hf.selectCard(1, cardID) < 0) {
Toast.makeText(MainActivity.this, "读卡失败,请重试!", Toast.LENGTH_SHORT).show();
}
else{
ContentValues cv=new ContentValues();
hf.selectCard(1, cardID);
cv.put("STUDENTSCARD_id", Integer.parseInt(cardID[0]));
if(sqtt.insert(DB_TABLE, null, cv)>0)
{
Toast.makeText(MainActivity.this, "用户注册成功!", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(MainActivity.this, "用户注册失败!", Toast.LENGTH_SHORT).show();
}
}
}
方法tt和zc分别绑定了刷卡验证按钮和注册按钮
其中hf.selectCard()是读取高频读卡器上高频卡的卡号 如果得到了则cardID[0]为String类型的一个值表中的STUDENTSCARD_id字段设置的是int型求解我的查询和添加语句有什么错误?错误现象有2:1.选择zc 则程序直接崩溃2.点击刷卡验证则sqtt.query()不为空直接运行里面的代码:intent.setClass(MainActivity.this,Dorm.class ); MainActivity.this.startActivity(intent);
数据库Java
FC的log日志贴出来下STUDENTSCARD_id 如果是自增的 则插入是会有问题的 并且要确保DB_TABLE 中的字段都是可以为null
mydata.sqlt="CREATE TABLE "+DB_TABLE+"(STUDENTSCARD_id INTEGER NOT NULL PRIMARY KEY);";
sqtt=mydata.getWritableDatabase();
sqtt.query返回的是long类型 你判null 没什么用 要是否> 0另外建议数据表别以STUDENTSCARD_id为主键 直接多加以个自增主键 STUDENTSCARD_id为另一个字段