1. 程式人生 > 實用技巧 >C#9.0新特性之四:頂級程式語句(Top-Level Programs)

C#9.0新特性之四:頂級程式語句(Top-Level Programs)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:padding="16dp" android:orientation="vertical" android:background="@drawable/bg" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android">


    <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_marginTop="130dp">

        <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="18sp" android:text="姓 名 :"/>

        <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:textSize="16sp" android:hint="請輸入姓名" android:id="@+id/et_name"/>

    </LinearLayout>


    -<LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_marginBottom="10dp">

    <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="18sp" android:text="年 齡:"/>

    <EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:textSize="16sp" android:hint="輸入年齡" android:id="@+id/et_age"/>

</LinearLayout>


    -<LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent">

    <Button android:background="#B9B9FF" android:layout_height="wrap_content" android:layout_width="0dp" android:textSize="18sp" android:text="新增" android:id="@+id/btn_add" android:onClick="add" android:layout_weight="1" android:layout_marginRight="2dp"/>

    <Button android:background="#DCB5FF" android:layout_height="wrap_content" android:layout_width="0dp" android:textSize="18sp" android:text="查詢" android:id="@+id/btn_query" android:onClick="search" android:layout_weight="1" android:layout_marginRight="2dp"/>

    <Button android:background="#E6CAFF" android:layout_height="wrap_content" android:layout_width="0dp" android:textSize="18sp" android:text="修改" android:id="@+id/btn_update" android:onClick="update" android:layout_weight="1" android:layout_marginRight="2dp"/>

    <Button android:background="#ACD6FF" android:layout_height="wrap_content" android:layout_width="0dp" android:textSize="18sp" android:text="刪除" android:id="@+id/btn_delete" android:onClick="delete" android:layout_weight="1"/>

</LinearLayout>


    -<ScrollView android:layout_height="wrap_content" android:layout_width="match_parent">

    <TextView android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_marginTop="25dp" android:textSize="20sp" android:id="@+id/tv_show"/>

</ScrollView>

</LinearLayout>
package com.example.android;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    protected 
void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @SuppressLint("WrongConstant") public void add(View v) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); String name
= ((EditText) findViewById(R.id.et_name)).getText() .toString(); int age = Integer.parseInt(((EditText) findViewById(R.id.et_age)) .getText().toString()); // 原生sql操作, // db.execSQL("insert into stuinfo (name,age) values('lisi',22)"); // db.execSQL("insert into stuinfo (name,age) values(?,?)",new // Object[]{"kitty",30}); db.execSQL("insert into stuinfo (name,age) values(?,?)", new Object[] { name, age }); Toast.makeText(this, "ok", 0).show(); } public void delete(View view) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("delete from stuinfo where _id=?", new Object[] { 2 }); Toast.makeText(this, "刪除成功", 0).show(); } @SuppressLint("WrongConstant") public void update(View view) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("update stuinfo set name=? where _id=?", new Object[] { "micky", 3 }); Toast.makeText(this, "修改成功", 0).show(); } public void search(View view) { StuOpenHelper helper = new StuOpenHelper(this); SQLiteDatabase db = helper.getWritableDatabase(); String s = ""; Cursor cursor = db.rawQuery("select * from stuinfo", null); if (cursor.getCount() != 0) { while (cursor.moveToNext()) { s += cursor.getInt(0) + " " + cursor.getString(1) + " " + cursor.getInt(2) + "\n"; } } // Toast.makeText(this, s, 0).show(); ((TextView) (findViewById(R.id.tv_show))).setText(s); } }
package com.example.android;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class StuOpenHelper extends SQLiteOpenHelper {

    public StuOpenHelper(Context context) {
        super(context, "stu.db", null, 1);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("create table stuinfo(_id integer primary key autoincrement,name varchar(20),age integer)");

    }

    @Override
    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
        // TODO Auto-generated method stub

    }

}