SQLite执行sql语句出错。。。。。。。。。

haitai_2013 2012-10-19 04:04:43
String sql = "CREATE  TABLE pic (_id INTEGRE PRIMARY KEY  AUTOINCREMENT  NOT NULL , fileName VARCHAR, description VARCHAR)";

db.execSQL(sql);


用的安卓sdk4.1
执行到db.execSQL(sql);就报错,显示Source not found,
这是怎么回事,是不是sql语句写错了。。。
...全文
356 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
haitai_2013 2012-10-19
  • 打赏
  • 举报
回复
package com.example.hellosqlite_;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteDatabase.CursorFactory;

import android.database.sqlite.SQLiteOpenHelper;


public class DBHelp extends SQLiteOpenHelper {

public DBHelp(Context context, String name, CursorFactory factory,int version) {
super(context, name, factory, version);


}

//辅助类建立时运行该方法
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String sql = "CREATE TABLE pic3 (_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , fileName VARCHAR, description VARCHAR)";
// String sql = "CREATE TABLE pic5 (fileName VARCHAR)";
db.execSQL(sql);

}

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub

}

}
haitai_2013 2012-10-19
  • 打赏
  • 举报
回复
http://www.apkbus.com/android-655-1-1.html
我代码是照着这个帖子里的敲出来的
haitai_2013 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
多贴点代码吧,好像不是语句本身的错
[/Quote]

package com.example.hellosqlite_;

import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {


private SQLiteDatabase db;
private String db_Name = "sqliteTest";//数据库名
private String table_name = "pic";//表名
private DBHelp dbHelp = new DBHelp(this, db_Name, null, 1);//辅助对象


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button btn1 = (Button)findViewById(R.id.button1);
Button btn2 = (Button)findViewById(R.id.button2);
Button btn3 = (Button)findViewById(R.id.button3);
Button btn4 = (Button)findViewById(R.id.button4);

db = dbHelp.getWritableDatabase();
initDB(db);
updateList();

OnClickListener oc1 = new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ContentValues cv = new ContentValues();
switch (v.getId()) {
case R.id.button1:
cv.put("filename", "pic5.jpg");
cv.put("description", "图片5");
long long1 = db.insert(table_name, "", cv);
if(long1 == -1){
Toast.makeText(MainActivity.this, "id为" + long1 + "的图片添加失败", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this, "id为" + long1 + "的图片添加成功", Toast.LENGTH_SHORT).show();
}
updateList();
break;

default:
break;
}
}
};

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

//初始化数据
private void initDB(SQLiteDatabase database){
ContentValues contentValues= new ContentValues();

contentValues.put("filename", "x1.jpg");
contentValues.put("description", "图片11111111");
database.insert(table_name, "", contentValues);

contentValues.put("filename", "x2.jpg");
contentValues.put("description", "图片222");
database.insert(table_name, "", contentValues);

contentValues.put("filename", "x3.jpg");
contentValues.put("description", "图片333333333");
database.insert(table_name, "", contentValues);
}

//更新数据
private void updateList(){
TextView textView = (TextView)findViewById(R.id.textView1);
Spinner spinner = (Spinner)findViewById(R.id.spinner1);

final Cursor cursor = db.query("pic", null, null, null, null, null, null);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_dropdown_item,
cursor,
new String[]{"filename", "description"},
new int[]{android.R.id.text1, android.R.id.text2});

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

OnItemSelectedListener itemSelectedListener = new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub

}

@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub

}

};


spinner.setOnItemSelectedListener(itemSelectedListener);
}


//窗口销毁时删除表中数据
@Override
public void onDestroy() {
super.onDestroy();
db.delete(table_name, null, null);
updateList();
}
}
dong3560 2012-10-19
  • 打赏
  • 举报
回复
多贴点代码吧,好像不是语句本身的错
haitai_2013 2012-10-19
  • 打赏
  • 举报
回复
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hellosqlite_/com.example.hellosqlite_.MainActivity}: java.lang.IllegalArgumentException: column 'filename' does not exist
haitai_2013 2012-10-19
  • 打赏
  • 举报
回复
扶额。。。
haitai_2013 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
INTEGRE写错了

INTEGER
[/Quote]

改了还是一样,也不知道具体是什么错
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
dong3560 2012-10-19
  • 打赏
  • 举报
回复
INTEGRE写错了

INTEGER

80,356

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧