SimpleCursorAdapter联系关系报错

SimpleCursorAdapter关联报错小弟初学安卓,今天弄到一个从数据库里面查数据以游标返回然后在SimpleCursorA

SimpleCursorAdapter关联报错
小弟初学安卓,今天弄到一个从数据库里面查数据以游标返回然后在SimpleCursorAdapter中关联,从中午调到现在,都快哭了。老是报错,麻烦大神们帮帮忙了

super.onCreate(savedInstanceState);
DBHelper helper = new DBHelper(this);
//查询
Cursor c = helper.query();
startManagingCursor(c);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.result, c, new String[]{"_id","SongsName"},new int[]{R.id.ID,R.id.SongName});
ListView listView = (ListView) findViewById(R.id.lv);
listView.setAdapter(adapter);
setContentView(R.layout.result);

一下是log信息:
03-19 13:36:19.646: D/AndroidRuntime(4800): Shutting down VM
03-19 13:36:19.646: W/dalvikvm(4800): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
03-19 13:36:19.646: E/AndroidRuntime(4800): Uncaught handler: thread main exiting due to uncaught exception
03-19 13:36:19.665: E/AndroidRuntime(4800): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ly.music/com.ly.music.Query}: java.lang.IllegalArgumentException: column '_id' does not exist
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.os.Handler.dispatchMessage(Handler.java:99)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.os.Looper.loop(Looper.java:123)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.app.ActivityThread.main(ActivityThread.java:4363)
03-19 13:36:19.665: E/AndroidRuntime(4800): at java.lang.reflect.Method.invokeNative(Native Method)
03-19 13:36:19.665: E/AndroidRuntime(4800): at java.lang.reflect.Method.invoke(Method.java:521)
03-19 13:36:19.665: E/AndroidRuntime(4800): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
03-19 13:36:19.665: E/AndroidRuntime(4800): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-19 13:36:19.665: E/AndroidRuntime(4800): at dalvik.system.NativeStart.main(Native Method)
03-19 13:36:19.665: E/AndroidRuntime(4800): Caused by: java.lang.IllegalArgumentException: column '_id' does not exist
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:314)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.widget.CursorAdapter.init(CursorAdapter.java:111)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.widget.CursorAdapter.<init>(CursorAdapter.java:90)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.widget.ResourceCursorAdapter.<init>(ResourceCursorAdapter.java:47)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.widget.SimpleCursorAdapter.<init>(SimpleCursorAdapter.java:88)
03-19 13:36:19.665: E/AndroidRuntime(4800): at com.ly.music.Query.onCreate(Query.java:22)
03-19 13:36:19.665: E/AndroidRuntime(4800): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)


03-19 13:36:19.665: E/AndroidRuntime(4800): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
03-19 13:36:19.665: E/AndroidRuntime(4800): ... 11 more
03-19 13:36:19.726: I/dalvikvm(4800): threadid=7: reacting to signal 3
03-19 13:36:19.726: I/dalvikvm(4800): Wrote stack trace to '/data/anr/traces.txt'


老是提示我_id不存在,我看有的人说sqlite查询绑定到cursor时必须把主键命名为"_id",我建表时就是_id,明明存在它老说我不存在,怎么回事啊
[解决办法]
我也碰到这个问题,浏览了很多网站,就是没一个能成功都,真心郁闷,问这个问题的人也很多...http://stackoverflow.com/search?q=column+_id+does+not+exist  这个网址 你看下,找到答案了发个帖子!!!
[解决办法]
ListView listView = (ListView) findViewById(R.id.lv);         listView.setAdapter(adapter);         setContentView(R.layout.result); 


亲,你这样子不报错?还没加载布局就找ListView?
[解决办法]
new SimpleCursorAdapter(this, R.layout.result, c, new String[]{"_id","SongsName"},new int[]{R.id.ID,R.id.SongName});

R.layout.result这里是item的布局,你先改完这里再看看其他的错误吧
[解决办法]
_id不存在的原因是你的数据源的字段必须有一个_id的字段,否则返回的cursor会出错。
[解决办法]
改下字段名就好了,如果用的SQLite,可以使用SQL语句的[字段名] as _id的别名来代替