- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为我的应用程序创建了数据库并生成了用于创建表的代码。它产生如下错误。
数据库编码(DatabaseHandler3)
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class DatabaseHandler3 extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "DOCROID.sqlite";
private static final String TABLE_CONTACTS = "UserRegistration";
private static final String username = "name";
private static final String userage = "age";
private static final String usergender = "gender";
private static final String useraddress = "address";
private static final String usercode = "code";
private static final String userid = "id";
private static final String userpassword = "password";
private static final String usercpass = "cpass";
private static final String LOGCAT = null;
private static Context context;
public DatabaseHandler3(Context context) {
super(context, "/sdcard/DOCROID/" + DATABASE_NAME, null, DATABASE_VERSION);
Log.d("DatabaseHandler3","Database Created");
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE " + TABLE_CONTACTS + "(" + username + " TEXT" + userage + " INTEGER " + usergender + " TEXT" + useraddress + " TEXT" + usercode + " INTEGER" + userid + " INTEGER" + userpassword + " BLOB" + usercpass + " BLOB ) ;");
Log.d("DatabaseHandler3", " User Table Created");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
public void addContact(Contact contact) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(username, contact.getNAME());
values.put(userage, contact.getAGE());
values.put(usergender, contact.getGENDER());
values.put(useraddress, contact.getADDRESS());
values.put(usercode, contact.getCODE());
values.put(userid, contact.getID());
values.put(userpassword, contact.getPASSWORD());
values.put(usercpass, contact.getCPASS());
// db.insert(TABLE_CONTACTS, null, values);
db.execSQL("insert into UserRegistration (username,userage,usergender,useraddress,usercode,userid,userpass,usercpass) values ('" + username +"','"+ userage + "','" + usergender +"','" + useraddress + "','" + usercode +"','" + userid + "','" + userpassword + "','" + usercpass + "')");
db.close();
}
public List<Contact> getAllContacts() {
List<Contact> contactList = new ArrayList<Contact>();
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
Contact contact = new Contact();
contact.setNAME(cursor.getString(0));
contact.setAGE(cursor.getString(1));
contact.setGENDER(cursor.getString(2));
contact.setADDRESS(cursor.getString(3));
contact.setCODE(cursor.getString(4));
contact.setID(cursor.getString(5));
contact.setPASSWORD(cursor.getString(6));
contact.setCPASS(cursor.getString(7));
contactList.add(contact);
} while (cursor.moveToNext());
}
return contactList;
}
public void deleteall() {
SQLiteDatabase db = this.getWritableDatabase();
String selectQuery = "DELETE FROM " + TABLE_CONTACTS;
db.execSQL(selectQuery);
}
}
主要代码(userregistration.java)
public class userregistration extends ActionBarActivity {
EditText UserName,UserAge,UserGender,Useraddress,Userpincode, Userid,UserPass,UserCPass;
String username,userage, usergender, useraddress, usercode, userid, userpass,usercpass;
public SQLiteDatabase db = null;
Button Reg;
Context ctx = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_userregistration);
UserName = (EditText) findViewById(R.id.editText11);
UserAge = (EditText) findViewById(R.id.editText69);
UserGender = (EditText) findViewById(R.id.editText70);
Useraddress = (EditText) findViewById(R.id.editText73);
Userpincode = (EditText) findViewById(R.id.editText74);
Userid = (EditText) findViewById(R.id.editText75);
UserPass = (EditText) findViewById(R.id.editText76);
UserCPass = (EditText) findViewById(R.id.editText72);
Reg = (Button) findViewById(R.id.button24);
Reg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
username =UserName.getText().toString();
userage = UserAge.getText().toString();
usergender = UserGender.getText().toString();
useraddress = Useraddress.getText().toString();
usercode = Userpincode.getText().toString();
userid = Userid.getText().toString();
userpass = UserPass.getText().toString();
usercpass = UserCPass.getText().toString();
if (username.trim().equals("")&& userage.trim().equals("") && usergender.trim().equals("") && useraddress.trim().equals("") && usercode.trim().equals("") && userid.trim().equals("") && userpass.trim().equals("") && usercpass.trim().equals(""))
{
Toast.makeText(getBaseContext(),"Fields should not empty",Toast.LENGTH_LONG).show();
}
else
{
DatabaseHandler3 db=new DatabaseHandler3(userregistration.this);
db.addContact(new Contact(username, userage, usergender, useraddress, usercode, userid, userpass, usercpass));
Toast.makeText(getBaseContext(),"Registration Success",Toast.LENGTH_LONG).show();
finish();
}
}
}) ;
}
错误报告:
05-04 21:49:20.516 6128-6128/com.example.bathrivasudevan.docroid E/SQLiteLog﹕ (1) table UserRegistration has no column named username
05-04 21:49:20.556 6128-6128/com.example.bathrivasudevan.docroid E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.database.sqlite.SQLiteException: table UserRegistration has no column named username (code 1): , while compiling: insert into UserRegistration (username,userage,usergender,useraddress,usercode,userid,userpass,usercpass) values ('name','age','gender','address','code','id','password','cpass')
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1108)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:681)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:589)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1769)
at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1700)
at com.example.bathrivasudevan.docroid.DatabaseHandler3.addContact(DatabaseHandler3.java:60)
at com.example.bathrivasudevan.docroid.userregistration$1.onClick(userregistration.java:85)
at android.view.View.performClick(View.java:4275)
at android.view.View$PerformClick.run(View.java:17434)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:177)
at android.app.ActivityThread.main(ActivityThread.java:4947)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
最佳答案
列“用户名”不存在,您创建了一个名为“名称”的列。查看您的用户名变量
private static final String username = "name";
您正在引用名称为“username”的列
db.execSQL("insert into UserRegistration (username,userage,usergender,useraddress,usercode,userid,userpass,usercpass) values ('" + username +"','"+ userage + "','" + usergender +"','" + useraddress + "','" + usercode +"','" + userid + "','" + userpassword + "','" + usercpass + "')");
更改其中一个字符串,使它们相等。
编辑:您似乎有几个这样的问题,请全部解决。
关于android - 无法在 SQLite 数据库中创建表和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30035290/
我正在 csv 上使用 hadoop 来分析一些数据。我使用sql/mysql(不确定)来分析数据,现在陷入了僵局。 我花了好几个小时在谷歌上搜索,却没有找到任何相关的东西。我需要一个查询,在该查询中
我正在为 Bootstrap 网格布局的“简单”任务而苦苦挣扎。我希望在大视口(viewport)上有 4 列,然后在中型设备上有 2 列,最后在较小的设备上只有 1 列。 当我测试我的代码片段时,似
对于这个令人困惑的标题,我深表歉意,我想不出这个问题的正确措辞。相反,我只会给你背景信息和目标: 这是在一个表中,一个人可能有也可能没有多行数据,这些行可能包含相同的 activity_id 值,也可
具有 3 列的数据库表 - A int , B int , C int 我的问题是: 如何使用 Sequelize 结果找到 A > B + C const countTasks = await Ta
我在通过以下功能编写此查询时遇到问题: 首先按第 2 列 DESC 排序,然后从“不同的第 1 列”中选择 只有 Column1 是 DISTINCT 此查询没有帮助,因为它首先从第 1 列中进行选择
使用 Bootstrap 非常有趣和有帮助,目前我在创建以下需求时遇到问题。 “使用 bootstrap 在桌面上有 4 列,在平板电脑上有 2 列,在移动设备上有 1 列”谁能告诉我正确的结构 最佳
我是 R 新手,正在问一个非常基本的问题。当然,我在尝试从所提供的示例中获取指导的同时做了功课here和 here ,但无法在我的案例中实现这个想法,即可能是由于我的问题中的比较维度更大。 我的实
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个 df , delta1 delta2 0 -1 2 0 -1 0 0 0 我想知道如何分配 delt
您好,我想知道是否可以执行以下操作。显然,我已经尝试在 phpMyAdmin 中运行它,但出现错误。也许还有另一种方式来编写此查询。 SELECT * FROM eat_eat_restaurants
我有 2 个列表(标题和数据值)。我想要将数据值列 1 匹配并替换为头文件列 1,以获得与 dataValue 列 1 和标题值列 2 匹配的值 头文件 TotalLoad,M0001001 Hois
我有两个不同长度的文件,file2 是一个很大的引用文件,我从中提取文件 1 的数据。 我有一行 awk,我通常会对其进行调整以在我的文件中进行查找和替换,但它总是在同一列中进行查找和替换。 所以对于
假设我有两个表,如下所示。 create table contract( c_ID number(1) primary key, c_name varchar2(50) not
我有一个带有 varchar 列的 H2 表,其检查约束定义如下: CONSTRAINT my_constraint CHECK (varchar_field <> '') 以下插入语句失败,但当我删
这是最少量的代码,可以清楚地说明我的问题: One Two Three 前 2 个 div 应该是 2 个左列。第三个应该占据页面的其余部分。最后,我将添加选项来隐藏和
在 Azure 中的 Log Analytics 中,我为 VM Heartbeat 选择一个预定义查询,我在编辑器中运行查询正常,但当我去创建警报时,我不断收到警报“查询未返回 TimeGenera
在 Azure 中的 Log Analytics 中,我为 VM Heartbeat 选择一个预定义查询,我在编辑器中运行查询正常,但当我去创建警报时,我不断收到警报“查询未返回 TimeGenera
今天我开始使用 JexcelApi 并遇到了这个:当您尝试从特定位置获取元素时,不是像您通常期望的那样使用sheet.getCell(row,col),而是使用sheet.getCell(col,ro
我有一个包含 28 列的数据库。第一列是代码,第二列是名称,其余是值。 public void displayData() { con.Open(); MySqlDataAdapter
我很沮丧:每当我缩小这个网页时,一切都变得一团糟。我如何将网页居中,以便我可以缩小并且元素不会被错误定位。 (它应该是 2 列,但所有内容都合并为 1)我试过 但由于某种原因,这不起作用。 www.o
我是一名优秀的程序员,十分优秀!