Android registration can only register numbers, not letters

Android registration can only register numbers, not letters, registration letters report an error, APP stops running,
error message
09-17 22 22 br 08 Android 47.880 3585-Android: Android: Android

                                                                Process: com.android.dengluzc, PID: 3585
                                                                android.database.sqlite.SQLiteException: no such column: zhang (code 1): , while compiling: SELECT * FROM users WHERE user_name=zhang
                                                                    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                                                                    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
                                                                    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
                                                                    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
                                                                    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
                                                                    at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
                                                                    at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
                                                                    at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)
                                                                    at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1163)
                                                                    at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1034)
                                                                    at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1202)
                                                                    at com.android.dengluzc.UserDataManager.findUserByName(UserDataManager.java:136)
                                                                    at com.android.dengluzc.Register.register_check(Register.java:59)
                                                                    at com.android.dengluzc.Register$1.onClick(Register.java:43)
                                                                    at android.view.View.performClick(View.java:4780)
                                                                    at android.view.View$PerformClick.run(View.java:19866)
                                                                    at android.os.Handler.handleCallback(Handler.java:739)
                                                                    at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                    at android.os.Looper.loop(Looper.java:135)
                                                                    at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                                    at java.lang.reflect.Method.invoke(Native Method)
                                                                    at java.lang.reflect.Method.invoke(Method.java:372)
                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

09-17 22 08V 51.274 3585-3585/com.android.dengluzc Imax process: Sending signal. PID: 3585 SIG: 9
part of the code
/ / find the user based on the user name to determine whether the user name already exists at the time of registration

public int findUserByName(String userName){
    Log.i(TAG,"findUserByName , userName="+userName);
    int result=0;
    Cursor mCursor=mSQLiteDatabase.query(TABLE_NAME, null, USER_NAME+"="+userName+"", null, null, null, null);
    if(mCursor!=null){
        result=mCursor.getCount();
        mCursor.close();
        Log.i(TAG,"findUserByName , result="+result);
    }
    return result;
}
//
        int count=mUserDataManager.findUserByName(userName);
 View.OnClickListener m_register_Listener = new View.OnClickListener() {    //
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.register_btn_sure:                       //
                register_check();
                break;
            case R.id.register_btn_cancel:                     //,
                Intent intent_Register_to_Login = new Intent(Register.this,Login.class) ;    //User ActivityLogin Activity
                startActivity(intent_Register_to_Login);
                finish();
                break;
        }
    }
};
Jun.28,2021

SQL enclose quotation marks when matching strings.

Cursor mCursor=mSQLiteDatabase.query(TABLE_NAME, null, String.format(USER_NAME + "='%s'", userName), null, null, null, null);
Menu