Ich brauche wirklich eine SQLite-Datenbankdatei für Studien. Ich erstelle eine Anwendung in C # und benötige eine Datenbank mit vielen Tabellen, Feldern, Ansichten, Indizes, Einschränkungen usw. Und ich möchte es nicht selbst mit dem SQLite-Befehlszeilentool erstellen.
Ich nehme an, jemand kann sagen, wo ich eine solche Datei finden kann, verschiedene Anwendungen oder Beispiele sein oder mir sogar eine eigene Datenbankdatei senden. Ich werde jede Hilfe schätzen.
Antworten:
Es gibt eine schöne Beispieldatenbank namens Chinook. Es versucht, das moderne Beispiel zu sein, um NorthWind zu ersetzen. Sie haben Versionen für verschiedene Datenbankserver, einschließlich SQLite.
Überprüfen Sie dieses Beispiel auch in den SQLite .NET-Clientforen (im Anhang zum ersten Beitrag).
Damit das Microsoft EFQuerySamples-Projekt mit SQLite funktioniertVielleicht erleichtert ein GUI-Tool zum Erstellen von Datenbank-Inhalten das Starten. Überprüfen Sie dieses Tool, das für den persönlichen Gebrauch kostenlos ist
Persönlich erstelle ich SQLite-Datenbanken zum Testen von NHibernate-Zuordnungen. Normalerweise erstelle ich meine Klassen und Zuordnungen und verwende dann die Zuordnungen, um ein Schema für eine neue SQLite-Datei (oder häufiger in einer Speicherdatenbank) zu generieren und dieses zu verwenden. Die meisten NHibernate-Einführungsartikel tun dies ebenfalls.
quelle
SQLite wird nur von vielen Anwendungen verwendet, daher bin ich mir ziemlich sicher, dass auf Ihrem Computer sehr viele Beispiele zu finden sind. Zum Beispiel auf meinem Win10-PC, wenn ich in "c: \ Users \ Konstantin" (mein Profil) nach Dateien suche mit:
Ich erhalte derzeit 785 Ergebnisse. Die meisten von ihnen haben diesen Text am Anfang - es sind 99% SQLite-Datenbankdateien. Insbesondere sehe ich, dass es von Skype, Viber, Dropbox, Office und Firefox verwendet wird.
quelle
Ich habe die Operation sqlightCrud verwendet
Erste Datenbankklasse erstellen. Paket com.db;
import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; import android.widget.Toast; public class DataBaseSampleActivity { /** for database */ static final String DataBaseName = "EmployeDB"; /** for employee table */ static final String EmployeTable = "Employees"; static final String ColEmpID = "EmpId"; static final String ColEmpName = "EmpName"; static final String ColEmpAge = "EmpAge"; static final String ColDept = "Dept"; /** for department table */ static final String DeptTable = "Department"; static final String ColDeptID = "DeptId"; static final String ColDeptName = "DeptName"; public static final int DATABASE_VERSION = 2; //private static final String KEY_ROWID = "_id"; private static final String EMPLOYEE_TABLE_CREATE ="Create table " + EmployeTable + //"(_id INTEGER UNIQUE," + [old code] "("+ColEmpID + " INTEGER PRIMARY KEY AUTOINCREMENT," + ColEmpName + " VARCHAR(15) ," + ColEmpAge + " INT(15) ," + ColDept + " VARCHAR(15)) "; private final Context context; private DatabaseHelper DBHelper; private SQLiteDatabase db; public DataBaseSampleActivity(Context ctx){ Log.i("test****", "**test***"); this.context = ctx; DBHelper = new DatabaseHelper(context); } private static class DatabaseHelper extends SQLiteOpenHelper{ public DatabaseHelper(Context context){ super(context, DataBaseName , null, DATABASE_VERSION); Log.i("context","context"); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL(EMPLOYEE_TABLE_CREATE); Log.i("************", "table created"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub Log.w("tag", "Upgrading database from version " + oldVersion + " to "+ newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS " + EmployeTable); onCreate(db); } }; public DataBaseSampleActivity open() throws SQLException{ db = DBHelper.getWritableDatabase(); Log.i("open", "message"); return this; } public void close(){ DBHelper.close(); } //public long insert(Integer empid, String empname, Integer empage, String empdept) { public long insert(String empname, Integer empage, String empdept) { Log.i("**** suruchitest **** ","*** test ***"); ContentValues initialValues = new ContentValues(); //initialValues.put(ColEmpID, empid); initialValues.put(ColEmpName, empname); initialValues.put(ColEmpAge, empage); initialValues.put(ColDept, empdept); return db.insert(EmployeTable, null, initialValues); } public Cursor getEmpValues(){ Cursor mCursor = db.query(EmployeTable, null, null, null, null, null, null); return mCursor; } public boolean deleteEmpList(long rowId){ Toast.makeText(context, "deleted", 2000).show(); return db.delete(EmployeTable, ColEmpID +" = " + rowId, null) > 0; } public boolean updateEmplist(String empname, Integer empage, String empdept, Integer rowid){ ContentValues initialValues = new ContentValues(); Log.i("##### "+rowid,""+empname+" "+empage+" "+empdept); //initialValues.put(ColEmpID, rowid); initialValues.put(ColEmpName,empname); initialValues.put(ColEmpAge,empage); initialValues.put(ColDept,empdept); try{ int b = db.update(EmployeTable, initialValues, ColEmpID+ " = " + rowid, null); Log.i("update", "up "+rowid+" ddd "+b); return true; }catch (Exception e){ Log.d("asdfasdfsadfasdf", "_--___--__--_=-_"); return false; } } } 2. create Main Activity package com.db; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { Button buttonsubmit; EditText empid,empname,empage,empdept; String emp_name, emp_dept; //Integer emp_id,emp_age; Integer emp_age; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); buttonsubmit = (Button) findViewById(R.id.btnSubmit); buttonsubmit.setOnClickListener(this); // empid =(EditText) findViewById(R.id.empid); empname =(EditText) findViewById(R.id.empname); empage =(EditText) findViewById(R.id.empage); empdept =(EditText) findViewById(R.id.empdpt); } @Override public void onClick(View v) { // TODO Auto-generated method stub DataBaseSampleActivity dbObj = new DataBaseSampleActivity(getApplicationContext()); // String Emp_ids = empid.getText().toString(); // emp_id = Integer.parseInt(Emp_ids); //emp_id = empid.getText().toString(); String Emp_ages = empage.getText().toString(); emp_age = Integer.parseInt(Emp_ages); //emp_age = empage.getText().toString(); emp_name = empname.getText().toString(); emp_dept = empdept.getText().toString(); try { Log.i("try", "message"); dbObj.open(); //long temp = dbObj.insert(emp_id, emp_name, emp_age, emp_dept); long temp = dbObj.insert(emp_name, emp_age, emp_dept); //Toast.makeText(getApplicationContext(), "temp"+temp, 3000).show(); dbObj.close(); Intent intent = new Intent(this,ShowListView.class); startActivity(intent); } catch (Exception e) { // TODO: handle exception Log.i("catch", "message"); } } } 2. Create listclass to show tha data package com.db; import java.lang.reflect.Array; import java.util.ArrayList; import android.R.integer; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class ShowListView extends Activity { ArrayList<String> arrname = new ArrayList<String>(); ArrayList<String> arrage = new ArrayList<String>(); ArrayList<String> arrdept = new ArrayList<String>(); ArrayList<Integer> arrRowId = new ArrayList<Integer>(); ArrayList<Integer> arrDelId = new ArrayList<Integer>(); Array[] arr; Button deleteBtn; Button btnadd; int index = 0; public int pos; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.emplist); //Toast.makeText(getApplicationContext(), "LIST VIEW", 5000).show(); ToGetCursorValues(); } public void ToGetCursorValues(){ DataBaseSampleActivity db = new DataBaseSampleActivity(getApplicationContext()); db.open(); try { Cursor cur = db.getEmpValues(); cur.moveToFirst(); arrRowId.clear(); arrname.clear(); arrage.clear(); arrdept.clear(); while (!cur.isAfterLast()) { arrRowId.add(cur.getInt(cur.getColumnIndex(db.ColEmpID))); arrname.add(cur.getString(cur.getColumnIndex(db.ColEmpName))); arrage.add(cur.getString(cur.getColumnIndex(db.ColEmpAge))); arrdept.add(cur.getString(cur.getColumnIndex(db.ColDept))); cur.moveToNext(); } //Log.i("#####","col "+arrlist.size()); //Toast.makeText(getApplicationContext(), "* "+arrname.size()+","+arrage.size()+","+arrdept.size(), 5000).show(); //Toast.makeText(getApplicationContext(), "***** "+arrRowId.get(0), 2000).show(); } catch (Exception e) { // TODO: handle exception } ListView lst = (ListView) findViewById(R.id.mylist); lst.setAdapter(new ListAdapter(getApplicationContext())); db.close(); } public class ListAdapter extends BaseAdapter implements OnCheckedChangeListener,OnClickListener{ private LayoutInflater inflater = null; public ListAdapter(Context c){ Log.i("Context","Context"); inflater = LayoutInflater.from(c); } @Override public int getCount() { // TODO Auto-generated method stub //return 0; return arrname.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } class ViewHolder{ TextView empnameview; TextView empageview; TextView empdeptview; CheckBox empchkbox; } // create a new ImageView for each item referenced by the Adapter public View getView(final int position, View convertView, ViewGroup parent) { Log.i("*view","view*"); ViewHolder vh; //ImageView imageView; if (convertView == null) { // if it's not recycled, initialize some attributes Log.i("*null1*","*null1*"); vh = new ViewHolder(); convertView = inflater.inflate(R.layout.customlist, null); Log.i("*null2*","*null2*"); pos = position; vh.empnameview = (TextView) convertView.findViewById(R.id.ename); vh.empageview = (TextView) convertView.findViewById(R.id.eage); vh.empdeptview = (TextView) convertView.findViewById(R.id.edept); vh.empchkbox = (CheckBox) convertView.findViewById(R.id.ckekDelete); Log.i("*null3*","*null3*"); vh.empnameview.setText(arrname.get(position)); vh.empnameview.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(ShowListView.this,UpdateDB.class); String name = arrname.get(position); int age = Integer.parseInt(arrage.get(position)); String dept = arrdept.get(position); int rowid = arrRowId.get(position); intent.putExtra("KeyName" , name); intent.putExtra("Keyage" , age); intent.putExtra("Keydept" , dept); intent.putExtra("Rowid", rowid); startActivity(intent); } }); vh.empageview.setText(arrage.get(position)); vh.empdeptview.setText(arrdept.get(position)); vh.empchkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub //Toast.makeText(getApplicationContext(), "OnChecked"+position, 2000).show(); if(buttonView.isChecked()){ arrDelId.add(arrRowId.get(position)); //Toast.makeText(getApplicationContext(), "OnChecked"+position, 2000).show(); // DataBaseSampleActivity db = new DataBaseSampleActivity(getApplicationContext()); // db.open(); // db.deleteEmpList(arrRowId.get(position)); // Toast.makeText(getApplicationContext(), "delet", 3000).show(); // db.close(); // } else{ for(int i=0;i<arrDelId.size();i++){ if(arrRowId.get(position) == arrDelId.get(i)){ arrDelId.remove(i); } } } } }); Log.i("******", "complete"); } else { Log.i("*not*","*not*"); vh = (ViewHolder) convertView.getTag(); } deleteBtn = (Button) findViewById(R.id.delBtn); deleteBtn.setOnClickListener(this); btnadd = (Button) findViewById(R.id.addBtn); btnadd.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent inte = new Intent(ShowListView.this, MainActivity.class); startActivity(inte); } }); // imageView.setImageResource(thumbarr[position]); return convertView; } public View getView1(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub return null; } @Override public void onClick(View v) { // TODO Auto-generated method stub for(int i=0;i<arrDelId.size();i++){ //Toast.makeText(getApplicationContext(), "OnDeleteClick "+i, 2000).show(); DataBaseSampleActivity db = new DataBaseSampleActivity(getApplicationContext()); db.open(); db.deleteEmpList(arrDelId.get(i)); //Toast.makeText(getApplicationContext(), "delet", 3000).show(); db.close(); } ToGetCursorValues(); } @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub } } } 3. for update package com.db; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class UpdateDB extends Activity implements OnClickListener{ Intent intnt; EditText editname,editage,editdept; Button updateBtn; int row_id; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); editname = (EditText) findViewById(R.id.empname); editage = (EditText) findViewById(R.id.empage); editdept = (EditText) findViewById(R.id.empdpt); updateBtn = (Button) findViewById(R.id.btnSubmit); updateBtn.setText("Update"); intnt = getIntent(); editname.setText(intnt.getStringExtra("KeyName")); editage.setText(""+intnt.getIntExtra("Keyage",0)); editdept.setText(intnt.getStringExtra("Keydept")); row_id = intnt.getIntExtra("Rowid", 0); updateBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "update", 3000).show(); DataBaseSampleActivity db = new DataBaseSampleActivity(getApplicationContext()); db.open(); String empname = editname.getText().toString(); int empage = Integer.parseInt(editage.getText().toString()); String empdept = editdept.getText().toString(); //db.deleteEmpList(row_id); db.updateEmplist(empname, empage, empdept,row_id); //Toast.makeText(getApplicationContext(), "delet", 3000).show(); db.close(); Intent list = new Intent(UpdateDB.this,ShowListView.class); startActivity(list); } }); // Toast.makeText(getApplicationContext(), "update "+intnt.getIntExtra("Keyage",0), 3000).show(); } @Override public void onClick(View v) { // TODO Auto-generated method stub } }
quelle