在本文中,我们将详细介绍rsqlite_send_query的各个方面,并为您提供关于conn@ptr,语句中的错误:附近'的相关解答,同时,我们也将为您带来关于AndroidSQLiteExcept
在本文中,我们将详细介绍rsqlite_send_query的各个方面,并为您提供关于conn @ ptr,语句中的错误:附近'的相关解答,同时,我们也将为您带来关于Android SQLiteException:靠近“,”:语法错误:,在编译INSERT时、android – .SQLiteException:near“,”:语法错误(代码1):,同时编译:、android-“创建表”附近的SQLite语法错误、android.database.sqlite.SQLiteException:near“SELECT”:语法错误(代码1):,同时编译:SELECT * FROM Table_Name的有用知识。
本文目录一览:- rsqlite_send_query(conn @ ptr,语句)中的错误:附近'(':语法错误(select附近有语法错误,应为id)
- Android SQLiteException:靠近“,”:语法错误:,在编译INSERT时
- android – .SQLiteException:near“,”:语法错误(代码1):,同时编译:
- android-“创建表”附近的SQLite语法错误
- android.database.sqlite.SQLiteException:near“SELECT”:语法错误(代码1):,同时编译:SELECT * FROM Table_Name
rsqlite_send_query(conn @ ptr,语句)中的错误:附近'(':语法错误(select附近有语法错误,应为id)
下面的代码行:
sqldf("UPDATE q1_sql_1 SET MONTH_YEAR = RIGHT(MONTH_YEAR, LEN(MONTH_YEAR) - 4)")
显示此错误:
Error in rsqlite_send_query(conn@ptr, statement) : near "(": syntax error
答案1
使用length
和rightstr
。有关SQLite中可用的功能,请参见:
https://www.sqlite.org/lang_corefunc.html
对于RSQLite也可以使用的贡献函数:
https://github.com/ggrothendieck/sqldf#example-15-use-of-rsqliteextfuns-
library-functions
Android SQLiteException:靠近“,”:语法错误:,在编译INSERT时
这个问题已经在这里有了答案: > Is it possible to insert multiple rows at a time in an SQLite database? 24个
我正在尝试将值插入表
public class DatabaseHandler extends sqliteOpenHelper {
private final static String INSERT_INTO_COUNTRIES = "INSERT INTO " + TABLE_COUNTRIES
+ " VALUES";
@Override
public void onCreate(sqliteDatabase db) {
final String countries = "('1','Andorra','93','flag_andorra','AND'),
('2','Austria','43','flag_flag_austria','AUT')";
String query = INSERT_INTO_COUNTRIES + countries + ";";
db.execsql(query);
}
}
并得到以下错误:
android.database.sqlite.sqliteException: near ",": Syntax error: , while compiling: INSERT INTO cardBerry_countries VALUES('1','Andorra','93','flag_andorra','AND'),('2','Austria','43','flag_flag_austria','AUT');
在Android 4.0.4 HTC Sense 3.6上发生错误.
我在Android 4.2及更高版本上运行的多种设备上进行了测试,并且工作正常.
有人知道出什么问题吗?
解决方法:
在sqlite版本3.7.11中引入了多值语法
Sqlite version 3.7.11 is only in Android 4.1 and up.
将您的插入片段拆分为单独的插入片段,一次插入一行.
android – .SQLiteException:near“,”:语法错误(代码1):,同时编译:
我错过了什么?带有“,”的东西,但我似乎在寻找错误的地方.这是我的代码:
private static final String DATABASE_CREATE =
"CREATE TABLE if not exists " + sqlITE_TABLE + " (" +
KEY_ROWID + " integer PRIMARY KEY autoincrement," +
KEY_CURSUS + "," +
KEY_ONDERDEEL + "," +
KEY_GAME + "," +
KEY_TIJD + "," +
KEY_WEB + "," +
KEY_CHECK + "," +
" UNIQUE (" + KEY_ROWID +"));";
这是我得到的错误:
Caused by: android.database.sqlite.sqliteException: near ",": Syntax error (code 1): , while compiling: CREATE TABLE if not exists Games_getset (_id integer PRIMARY KEY autoincrement,cursus,onderdeel,game,tijd,web,check, UNIQUE (_id));
解决方法:
自check
is a keyword in SQL以来重命名或引用检查栏.
例如:
private static final String DATABASE_CREATE =
"CREATE TABLE if not exists " + sqlITE_TABLE + " (" +
KEY_ROWID + " integer PRIMARY KEY autoincrement," +
KEY_CURSUS + "," +
KEY_ONDERDEEL + "," +
KEY_GAME + "," +
KEY_TIJD + "," +
KEY_WEB + "," +
+ "`" + KEY_CHECK + "`," +
" UNIQUE (" + KEY_ROWID +"));";
android-“创建表”附近的SQLite语法错误
这是我的代码:
String CREATE_DATABASE = "CREATE TABLE " + TABLE_NAME + "(" +
KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
"title TEXT, "+
"author TEXT, "+
"state TEXT);";
db.execsql(CREATE_DATABASE);
LogCat说:12-11 23:43:50.553:E / AndroidRuntime(3706):android.database.sqlite.sqliteException:在“ CREATETABLE”附近:语法错误(代码1):,编译时:CREATETABLE PapersTable(_id INTEGERPRIMARY KEYAUTOINCREMENT,标题TEXT,作者TEXT,状态TEXT);
解决方法:
发布后,CREATE TABLE语法就可以了.
我怀疑CREATE和TABLE之间有一个不间断的空格(ASCII 0xA0).将其替换为常规空格(ASCII 0x20).这将解释您发布的语法错误:解析器将CREATE TABLE视为单个未知令牌,而不是作为两个单独的已知令牌CREATE和TABLE.
绝对错误的是,您在传递给函数的参数sqliteDatabase db上调用db.close().您应该只关闭自己打开的数据库,并且以这种方式关闭它会导致异常,尽管这是一个不同的异常.
android.database.sqlite.SQLiteException:near“SELECT”:语法错误(代码1):,同时编译:SELECT * FROM Table_Name
我有以下课程
用户类为
public class User { private int univ_id; private String univ_name,univ_abbr; public User(int univ_id,String univ_name,String univ_abbr) { this.univ_id = univ_id; this.univ_name = univ_name; this.univ_abbr = univ_abbr; } public User(String univ_name,String univ_abbr) { this.univ_name = univ_name; this.univ_abbr = univ_abbr; } public User() { // Todo Auto-generated constructor stub } public int getUniv_id() { return univ_id; } public void setUniv_id(int univ_id) { this.univ_id = univ_id; } public String getUniv_name() { return univ_name; } public void setUniv_name(String univ_name) { this.univ_name = univ_name; } public String getUniv_abbr() { return univ_abbr; } public void setUniv_abbr(String univ_abbr) { this.univ_abbr = univ_abbr; } }
DBStorageFirst Class as
public class DBStorageFirst extends sqliteOpenHelper { public static final String DATABASE_NAME = "STUPIDSID_OFFLINE_DB"; public static final String TABLE_NAME_UNIVERSITIES = "universities"; public static final String COLUMN_UNIV_ID = "univ_id"; public static final String COLUMN_UNIV_NAME = "univ_name"; public static final String COLUMN_UNIV_ABBR = "univ_abbr"; public DBStorageFirst(Context context) { super(context,DATABASE_NAME,null,1); } @Override public void onCreate(sqliteDatabase db) { // Todo Auto-generated method stub db.execsql("create table " + TABLE_NAME_UNIVERSITIES + "(" + COLUMN_UNIV_ID + " integer RIMARY KEY," + COLUMN_UNIV_NAME + " text," + COLUMN_UNIV_ABBR + " text )"); Log.e("Success","Universities Table Created"); } @Override public void onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) { // Todo Auto-generated method stub db.execsql("DROP TABLE IF EXISTS " + TABLE_NAME_UNIVERSITIES); onCreate(db); } public void addUniversities(int univ_id,String univ_abbr) { sqliteDatabase db = this.getWritableDatabase(); String sql1 = "insert into " + DBStorageFirst.TABLE_NAME_UNIVERSITIES + " (" + DBStorageFirst.COLUMN_UNIV_ID + "," + DBStorageFirst.COLUMN_UNIV_NAME + "," + DBStorageFirst.COLUMN_UNIV_ABBR + ")" + " values(" + univ_id + ",''" + univ_name + " '',''" + univ_abbr + "'')"; db.execsql(sql1); // database.execsql(sql2); Log.e("Success","Data inserted Successfully into Universities Table"); } public List<User> getAllContacts() { List<User> contactList = new ArrayList<User>(); String selectQuery = "SELECT * FROM "+TABLE_NAME_UNIVERSITIES; sqliteDatabase db1 = this.getWritableDatabase(); Cursor cursor = db1.rawQuery(selectQuery,null); if (cursor.movetoFirst()) { do { User contact = new User(); contact.setUniv_id(Integer.parseInt(cursor.getString(0))); contact.setUniv_name(cursor.getString(1)); contact.setUniv_abbr(cursor.getString(2)); contactList.add(contact); } while (cursor.movetoNext()); } return contactList; } }
和MainActivity一样
DBStorageFirst db = new DBStorageFirst(this); // Inserting Contacts Log.d("Insert: ","Inserting .."); db.addUniversities(25,"ABC","UA"); db.addUniversities(26,"DEF","UB"); List<User> list = new ArrayList<User>(); list = db.getAllContacts(); for (User cn : list) { String log = "Id: " + cn.getUniv_id() + ",Name: " + cn.getUniv_name() + ",Abbr: " + cn.getUniv_abbr(); // Writing Contacts to log Log.d("Name: ",log); }
解决方法
关于rsqlite_send_query和conn @ ptr,语句中的错误:附近'的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Android SQLiteException:靠近“,”:语法错误:,在编译INSERT时、android – .SQLiteException:near“,”:语法错误(代码1):,同时编译:、android-“创建表”附近的SQLite语法错误、android.database.sqlite.SQLiteException:near“SELECT”:语法错误(代码1):,同时编译:SELECT * FROM Table_Name的相关知识,请在本站寻找。
本文标签: