Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Mobile > Mobile Forum > Android SQLite หัด Insert ข้อมูล แต่มัน Insert ไม่ได้อะครับ ทำไงดี



 

Android SQLite หัด Insert ข้อมูล แต่มัน Insert ไม่ได้อะครับ ทำไงดี

 



Topic : 101784



โพสกระทู้ ( 70 )
บทความ ( 0 )



สถานะออฟไลน์




โค้ดมี 3 ไฟล์อะครับ แต่ผมเอาไฟล์โค้ดหลักๆให้ดูนะครับ คือ โค้ด MainActivity มันแค่ไว้ แค่ส่ง Intent ไปหน้าอื่น

อันแรกเป็น โค้ด ของการ หน้าที่จะ Insert อะครับ ส่วนหน้าออกแบบ XML ของ Insert แค่ มี ปุ่ม Button 1 อัน กับ Editext 1 ช่องให้ใส่ชื่อแค่นั้นครับ

Code (Java)
package ken.app.sqldota;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/**
 * Created by Dell on 16/10/2556.
 */
public class add extends Activity {
    SQLiteDatabase mDb;
    database mHelper;
    Cursor mCursor;
    Button btn;
    EditText edt;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_activity);

        mHelper = new database(this);


        init();

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String name = edt.getText().toString();
                long in=mHelper.insertTest(name);

                if(in<=0){
                    Toast.makeText(add.this, "Please Enter Name Team ", Toast.LENGTH_SHORT).show();
                }

                else
                {
                /*    mDb.execSQL("INSERT INTO "+ database.TABLE_NAME +" (" +database.COL_NAME +") VALUES ('"+name+"');"); */
                    Toast.makeText(add.this, "Enter Team "+name+" Succeed ", Toast.LENGTH_SHORT).show();

                }

            }
        });
     //   mHelper.onUpgrade(mDb, 1, 1);
    }



    private void init()
    {
        btn = (Button) findViewById(R.id.button);
        edt = (EditText) findViewById(R.id.editText);
    }
}





อันที่ 2 โค้ด ไฟล์ Database

Code (Java)
package ken.app.sqldota;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;

/**
 * Created by Dell on 16/10/2556.
 */
public class database extends SQLiteOpenHelper{
    private static final String DB_NAME = "Dota";
    private static final int DB_VERSION = 1;

    public static final String TABLE_NAME = "Product";
    public static final String COL_NAME = "name";

    public database(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }


    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE "+ TABLE_NAME +" (_id INTEGER PRIMARY KEY AUTOINCREMENT, "
                + COL_NAME + " TEXT);");



    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i2) {
        db.execSQL("DROP TABLE IF EXISTS "+ TABLE_NAME);
        onCreate(db);
    }

    public long insertTest(String name)
    {
        SQLiteDatabase  mDb = this.getWritableDatabase();
        ContentValues values=new ContentValues();

        values.put(COL_NAME, name);
        mDb.close();
        return mDb.insert(TABLE_NAME,null, values);
    }
}



ช่วยทีครับ
คือลองมาหลายโค้ดแล้ว ก็เปลี่ยนไป เปลี่ยนมา สลับโค้ดมั่วไปมั่วมา ก็ยังไม่ได้ซักที ไม่รู้เป็นอะไร อาการตอนแรกกดปุ่ม button save ได้แต่เหมือนข้อมูลไม่เข้า แบบไปลองดู หน้า Select ไม่โผล่ข้อมูลเลย แต่แก้ไปแก้มาตอนนี้กดปุ่ม save แล้ว error เลย



Tag : Mobile, Android







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-10-17 20:37:35 By : kenshero View : 1330 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ไม่มั่วหรอกถ้าคุณตั้งใจที่จะเข้าใตมันครับ

Android Add Insert Data to SQLite Database (Android SQLite)







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-17 21:12:57 By : mr.win
 


 

No. 2



โพสกระทู้ ( 70 )
บทความ ( 0 )



สถานะออฟไลน์


กระทู้ผมก็อ่านแล้วลอง ดัดแปลงตามแล้วครับ มันก็ไม่ได้ซักที ผมไม่รู้ว่าผิดตรงไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-18 15:33:26 By : kenshero
 

 

No. 3



โพสกระทู้ ( 70 )
บทความ ( 0 )



สถานะออฟไลน์


ช่วยดูทีครับ อันนี้โค้ดใหม่แก้ให้คล้ายๆ ตัวอย่างที่ทาง Admin ทำไว้เลย

นี่โค้ดไฟล์ database ครับ

Code (Android-Java)
package ken.app.sqldota;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;

/**
 * Created by Dell on 16/10/2556.
 */
public class database extends SQLiteOpenHelper{
    private static final String DB_NAME = "Dota";
    private static final int DB_VERSION = 1;

    public static final String TABLE_NAME = "Product";
    public static final String COL_NAME = "name";

    public database(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }


    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE "+ TABLE_NAME +" (_id INTEGER PRIMARY KEY AUTOINCREMENT, "
                + COL_NAME + " TEXT);");



    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i2) {
        db.execSQL("DROP TABLE IF EXISTS "+ TABLE_NAME);
        onCreate(db);
    }

    public long insertTest(String name)
    {
        SQLiteDatabase  mDb = this.getWritableDatabase();
    //    mDb.execSQL("INSERT INTO "+TABLE_NAME +" (" +COL_NAME +") VALUES ('"+name+"');");
        ContentValues values=new ContentValues();

        values.put(COL_NAME, name);
        long row= mDb.insert(TABLE_NAME,null, values);
        mDb.close();
        return row;
    }
}





นี่โค้ดไฟล์หน้า Add หรือ Insert

Code (Android-Java)
package ken.app.sqldota;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/**
 * Created by Dell on 16/10/2556.
 */
public class add extends Activity {
    SQLiteDatabase mDb;
    database mHelper;
    Cursor mCursor;
    Button btn;
    EditText edt;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_activity);
        init();



        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if(savedata()){
                    //Toast.makeText(add.this, "Please Enter Name Team ", Toast.LENGTH_SHORT).show();
                    Intent newActivity = new Intent(add.this,MainActivity.class);
                   startActivity(newActivity);
                }

                /*else
                {
                   mDb.execSQL("INSERT INTO "+ database.TABLE_NAME +" (" +database.COL_NAME +") VALUES ('"+name+"');");
                    Toast.makeText(add.this, "Enter Team "+name+" Succeed ", Toast.LENGTH_SHORT).show();
                }*/

            }
        });
     //   mHelper.onUpgrade(mDb, 1, 1);
    }

    private boolean savedata() {
        mHelper = new database(this);
       long in = mHelper.insertTest(edt.getText().toString());
        if(in<=0)
        {
            Toast.makeText(add.this, "Please Enter Name Error Team ", Toast.LENGTH_SHORT).show();
            return  false;
        }
        Toast.makeText(add.this, "Enter Team "+edt.getText().toString()+" Succeed ", Toast.LENGTH_SHORT).show();
        return true;
    }


    private void init()
    {
        btn = (Button) findViewById(R.id.button);
        edt = (EditText) findViewById(R.id.editText);
    }
}



แต่มัน Add ไม่เข้าจริงๆครับ ไม่รู้เพราะอะไรผมงงหาที่แก้ไม่ได้เลย ผมมือใหม่ครับหัด Sqlite แต่ไม่เคยใช้ Mysql เลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-19 00:57:59 By : kenshero
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ถ้ามันไม่เข้ามันก็จะต้องมี Error แจ้งครับ ลอง Debug ไล่ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-19 07:22:08 By : mr.win
 


 

No. 5



โพสกระทู้ ( 16 )
บทความ ( 0 )



สถานะออฟไลน์


44.// mDb.execSQL("INSERT INTO "+TABLE_NAME +" (" +COL_NAME +") VALUES ('"+name+"');");
45.ContentValues values=new ContentValues();
46.
47.values.put(COL_NAME, name);

ตรงคำสั่ง insert มัน ปิดไว้อะครับ ลองเอา // ในบรรทัด 44 ออกครับ





อีกอย่างลองดาวโหลด sqliteadmin มาลองเล่นดูครับ
สร้าง database เพื่อทดสอบเองในเครื่องเราก่อน create db ผ่านไหม
หลังจากนั้นก็ ทดสอบคำสั่ง insert selcect ตามต้องการ โปรแกรมนี้จะแจ้งเลยว่าเวลาเรารันคำสั่งมันพลาดตรงไหน

พอได้คำสั่งที่ถูกต้องเราก็ค่อยเอาไปประยุกใส่ตัวแปรทีหลังครั้บ แบบนี้ถูกแน่ๆ
ปล.ผมก็รู้ไม่มากอะนะครับ เอาเป็นว่าผมทำแบบนี้ละกัน อาจจะมีวิีธีที่ดีกว่านี้ก็ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-19 12:43:07 By : ababydroid
 


 

No. 6



โพสกระทู้ ( 70 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : ababydroid เมื่อวันที่ 2013-10-19 12:43:07
รายละเอียดของการตอบ ::

คือผมลองไม่ใส่ // แล้วมันก็ไม่ได้ ผมเลยปิดไว้เพราะในตัวอย่งเว็บมันไม่มีคำสั่งนี้อะครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-19 15:38:11 By : kenshero
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Android SQLite หัด Insert ข้อมูล แต่มัน Insert ไม่ได้อะครับ ทำไงดี
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่