bazinga13 Δημοσ. 9 Φεβρουαρίου 2017 Δημοσ. 9 Φεβρουαρίου 2017 Την καλημερα μου σε ολους τους φιλους,μελεταω ΒΔ για Android και εχω συνεχεια θεματα,θα θελα να το λυσω μια καλη για να μπορεσω να προχωρησω,την μια δουλευει την αλλη οχι,στον συγκεκριμενο κωδικα που θα παραθεσω ενω εκανα add 3-4 ονοματα και ενω ολα πηγαιναν καλα ΧΩΡΙΣ να προσθεσω η να αφαιρεσω κωδικα σταματησε να τρεχει. Οποιος εχει ορεξη και χρονο ας ριξει μια ματια. class DatabaseClass extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 1; private static final String DATABASE_NAME = "tsoumidb"; private static final String TABLE_NAME = "TSOUMITABLE"; private static final String USER_NAME = "Name"; private static final String PASSWORD = "Password"; private static final String EMAIL = "Email"; private static final String UID = "_id"; private Context context; private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" + UID + " INTEGER PRIMARY KEY," + USER_NAME + " TEXT," + PASSWORD + " TEXT," + EMAIL + " TEXT" + ")"; private static final String DROP_TABLE = "DROP TABLE IF EXISTS " + TABLE_NAME; DatabaseClass(Context context) { super(context,DATABASE_NAME,null,DATABASE_VERSION); this.context = context; MessageClass.message(context,"Constructor start"); } @Override public void onCreate(SQLiteDatabase db) { try{ MessageClass.message(context,"OnCreate was called"); db.execSQL(CREATE_TABLE); } catch (SQLiteException e) { MessageClass.message(context,"" +e); } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { try{ MessageClass.message(context,"OnUpgrade was called"); db.execSQL(DROP_TABLE); onCreate(db); } catch (SQLiteException e) { MessageClass.message(context,"" +e); } } long insertData(Holder holderClass) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(USER_NAME,holderClass.getName()); values.put(PASSWORD,holderClass.getPassword()); values.put(EMAIL,holderClass.getMail()); long id = db.insert(TABLE_NAME,null,values); return id; } } public class ActivitySignup extends AppCompatActivity { private EditText mName,mPassword,mEmail; private TextView textView; private Button mButton; DatabaseClass databaseClass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_signup); mName = (EditText) findViewById(R.id.input_name); mPassword = (EditText) findViewById(R.id.input_password); mEmail = (EditText) findViewById(R.id.input_email); textView = (TextView) findViewById(R.id.signup); mButton = (Button) findViewById(R.id.addUser); databaseClass = new DatabaseClass(this); } public void onClickSignUp(View v) { String str1 = mName.getText().toString(); String str2 = mPassword.getText().toString(); String str3 = mEmail.getText().toString(); Holder holder = new Holder(str1,str2,str3); long id = databaseClass.insertData(holder); if(id < 0) { MessageClass.message(this,"Unssuccesfuly inserted a Row"); } else { MessageClass.message(this,"Succesfuly inserted a Row"); } } } Θελω να εισαγω user name,password,email Συγνωμη για την ποιοτητα της φωτογραφιας
tsofras Δημοσ. 9 Φεβρουαρίου 2017 Δημοσ. 9 Φεβρουαρίου 2017 Τι εννοείς όταν λές σταμάτησε να τρέχει απλά δεν κάνει Insert τα values? Debug το έχεις κάνει? Επίσης αν και δεν ξέρω και πολλά απλά διάβαζοντας τον κώδικα σου βλέπω ότι δεν περνάς τιμή στο UUID στo ContentValues. Οπότε ή πρέπει να περάσεις το κλειδί εσύ είτε να αλλάξεις το create του πίνακα και να προσθέσεις το AUTOINCREMENT στο UUID. private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" + UID + " INTEGER PRIMARY KEY AUTOINCREMENT," + USER_NAME + " TEXT," + PASSWORD + " TEXT," + EMAIL + " TEXT" + ")"; Ξαναλέω δεν έχω γράψει ποτέ SQLLite για android , αλλά για δές μήπως αυτό σου λύνει το πρόβλημα
bazinga13 Δημοσ. 9 Φεβρουαρίου 2017 Μέλος Δημοσ. 9 Φεβρουαρίου 2017 Τι εννοείς όταν λές σταμάτησε να τρέχει απλά δεν κάνει Insert τα values? Debug το έχεις κάνει? Την καλημερα μου φιλε μου και σ ευχαριστω για τον χρονο σου.Ναι ενω 2-3 φορες ολα πηγαν καλα στην αρχη μετα κρασαρε,μου το κανει συχνα αυτο χωρις να εχω κανει καποιες τροποποιησεις στον κωδικα.
tsofras Δημοσ. 9 Φεβρουαρίου 2017 Δημοσ. 9 Φεβρουαρίου 2017 Την καλημερα μου φιλε μου και σ ευχαριστω για τον χρονο σου.Ναι ενω 2-3 φορες ολα πηγαν καλα στην αρχη μετα κρασαρε,μου το κανει συχνα αυτο χωρις να εχω κανει καποιες τροποποιησεις στον κωδικα. Δοκίμασες αυτό με το autoincrement ή να περάσεις το value?
bazinga13 Δημοσ. 9 Φεβρουαρίου 2017 Μέλος Δημοσ. 9 Φεβρουαρίου 2017 Δοκίμασες αυτό με το autoincrement ή να περάσεις το value? Ναι αλλα παλι κρασαρει δυστυχως
anon667 Δημοσ. 9 Φεβρουαρίου 2017 Δημοσ. 9 Φεβρουαρίου 2017 Θα βοηθούσε αν μπορείς να γράψεις αναλυτικά τα βήματα τα οποία ακολουθείς με τα οποία φτάνεις στο προβληματικό σημείο.
bazinga13 Δημοσ. 9 Φεβρουαρίου 2017 Μέλος Δημοσ. 9 Φεβρουαρίου 2017 Έχεις κάποιο stacktrace? Δεν μου βγαζει καν μηνυμα,κρασαρει τελειως Θα βοηθούσε αν μπορείς να γράψεις αναλυτικά τα βήματα τα οποία ακολουθείς με τα οποία φτάνεις στο προβληματικό σημείο. Απ οτι ειδα πριν λιγο το προβλημα αρχιζει με το που βαζω την μεθοδο insertData()
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα