세부 정보를 입력하라는 signUp 페이지를 만든 다음 저장하고 있습니다. 그 (것)들은 데이타베이스에서 그 후에 그 (것)들을 인쇄하고 "데이타베이스를 통해서만 가져 오기"버튼을 클릭하여 다른 활동에 그들을 인쇄합니다.원인 : android.database.sqlite.SQLiteException : 컴파일 할 때 해당 열 : 이름 (코드 1)이 없습니다.
내 MainActivity 클래스는 다음과 같습니다
package com.example.hsports.signuppage;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
String name;
String emailId;
String password;
String cnfpassword;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv=(TextView)findViewById(R.id.Title);
tv.setSelected(true);
}
public void storeInfo(View v)
{
name=findViewById(R.id.name).toString();
emailId=findViewById(R.id.emailId).toString();
password=findViewById(R.id.password).toString();
cnfpassword=findViewById(R.id.cnfpassword).toString();
SQLiteDatabase mydb=openOrCreateDatabase("usersInfo",MODE_PRIVATE,null);
mydb.execSQL("create table IF NOT EXISTS userInfo (Name varchar , EmaiId varchar , Password varchar , CnfPassword varchar);");
mydb.execSQL("insert into userInfo (Name, EmaiId , Password , CnfPassword) Values(name , emailId , password , cnfpassword);");
Intent i=new Intent(this,SecondActivity.class);
startActivity(i);
}
}
내 activity_main.xml은 다음과 같습니다
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.hsports.signuppage.MainActivity"
android:orientation="vertical"
android:background="@color/WHITE"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Shaadi Mubarak"
android:textSize="30dp"
android:textColor="@color/RED"
android:layout_gravity="center"
android:id="@+id/TitleText"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="It is a company which aims at bringing people together and it's just a way to make this thing easier."
android:textSize="15dp"
android:textColor="@color/BLACK"
android:textAlignment="center"
android:paddingBottom="100dp"
android:id="@+id/Title"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:lines="1"
android:singleLine="true"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/name"
android:layout_gravity="center_horizontal"
android:hint="Enter your Name"
android:gravity="center_horizontal"
android:imeOptions="actionGo"
android:textColor="@color/BLACK"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:id="@+id/emailId"
android:hint="Enter your Email Id"
android:gravity="center_horizontal"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/password"
android:hint="Enter Password"
android:gravity="center_horizontal"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/cnfpassword"
android:hint="Confirm your password"
android:gravity="center_horizontal"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="RegisterMe"
android:textStyle="bold"
android:textSize="20dp"
android:padding="20dp"
android:onClick="storeInfo"
/>
</LinearLayout>
</LinearLayout>
내가 콘솔에서 점점 오전 오류는 다음과 같습니다
FATAL EXCEPTION: main
Process: com.example.hsports.signuppage, PID: 7232
java.lang.IllegalStateException: Could not execute method for android:onClick
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.database.sqlite.SQLiteException: no such column: name (code 1): , while compiling: insert into userInfo (Name, EmaiId , Password , CnfPassword) Values(name , emailId , password , cnfpassword);
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:887)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:498)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1674)
at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1605)
at com.example.hsports.signuppage.MainActivity.storeInfo(MainActivity.java:39)
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
실마리가 'no such column : name' 오류 메시지에 있습니다. 존재하지 않는 열에 삽입하려고합니다. 스키마가 AKA'CREATE table' 문을 제공하도록주의하십시오. –
테이블 생성 스키마를 올바로 지정했습니다. 그게 뭐가 잘못 됐어? –
신경 쓰지 마라, 나는 모바일에 있었고, 놓쳤을 것임에 틀림 없다. 나는 지금 내 바탕 화면에있다. 문제는 여러분이 여러분의 가치를 벗어나지 못했기 때문입니다. 그래서 그것이 열로 읽으려고했습니다. 나는 2 분 안에 대답을 게시 할 것이다. –