Unity3d ʹÓÃsqliteÊý¾Ý¿â
dbAccess.js
import System.Data; // we import our data class
import Mono.Data.SqliteClient; // we import our sqlite client
class dbAccess {
// variables for basic query access
private var connection : String;
private var dbcon : IDbConnection;
private var dbcmd : IDbCommand;
private var reader : IDataReader;
function OpenDB(p : String){
connection = "URI=file:" + p; // we set the connection to our database
dbcon = new SqliteConnection(connection);
dbcon.Open();
}
function BasicQuery(q : String, r : boolean){ // run a baic Sqlite query
dbcmd = dbcon.CreateCommand(); // create empty command
dbcmd.CommandText = q; // fill the command
reader = dbcmd.ExecuteReader(); // execute command which returns a reader
if(r){ // if we want to return the reader
return reader; // return the reader
}
}
function CreateTable(name : String, col : Array, colType : Array){ // Create a table, name, column array, column type array
var query : String;
query = "CREATE TABLE " + name + "(" + col[0] + " " + colType[0];
for(var i=1; i<col.length; i++){
query += ", " + col[i] + " " + colType[i];
}
query += ")";
dbcmd = dbcon.CreateCommand(); // create empty command
dbcmd.CommandText = query; // fill the command
reader = dbcmd.ExecuteReader(); // execute command which returns a reader
}
function InsertIntoSingle(tableName : String, colName : String, value : String){ // single insert
var query : String;
query = "INSERT INTO " + tableName + "(" + colName + ") " + "VALUES (" + value + ")";
dbcmd = dbcon.CreateCommand(); // create empty command
dbcmd.CommandText = query; // fill the command
reader = dbcmd.ExecuteReader(); // execute command which returns a reader
}
function InsertIntoSpecific
Ïà¹ØÎĵµ£º
Ê×ÏÈ×öµãÆÌµæËµÃ÷£º
sqlite³ÌÐòͨ¹ý²éÕÒ·ÖºÅ(;)À´¾ö¶¨Ò»¸öSQLÓï¾äµÄ½áÊø,ËùÒÔÒªÖ´ÐÐSQLÓï¾äÇëÈ·±£ÔÚSQLÓï¾äºóÓзֺÅ(;).Èç¹ûÄãÊ¡ÂԷֺţ¬sqlite3½«¸øÄãÒ»¸öÁ¬ÐøµÄÃüÁîÌáʾ·û(...> )²¢µÈÄã¸øµ±Ç°µÄSQLÃüÁîÌí¼Ó¸ü¶àµÄÎÄ×Ö¡£Õâ¸öÌØµãÈÃÄãÊäÈë¶àÐеĶà¸öSQLÓï¾ä.µ«µãºÅ(.)ÃüÁî²»Òª·ÖºÅ(;).ctrl+c¿ÉÒÔ½áÊøµ±Ç°ÃüÁî¡£
ÔÚdos´ ......
¿ÉÒÔ½Ó×ÅÉÏÒ»²½²Ù×÷£¬Ö±½ÓÏòDOS´°¿ÚÊäÈë.helpÃüÁîÀ´²é¿´SQLiteµÄËùÓÐÃüÁîÐм°½âÊÍÈçÏ£º
F:\>sqlite3
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .help
Ò²¿ÉÒÔctrl+c½áÊøÃüÁÏëDOS´°¿Ú ÊäÈësqlite3Ö´ÐкóÔÙÊäÈë.helpÃüÁîÈçÏ£º
F:\>sqli ......
.dump ?TABLE? ... ÒÔSQLÓï¾ä·½Ê½ÏÔʾ±íµÄ½á¹¹¡£È磺
sqlite> .dump websties
BEGIN TRANSACTION;
COMMIT;
sqlite> .dump websites
BEGIN TRANSACTION;
CREATE TABLE [websites] (
[WebID] INTEGER NOT NULL PRIMARY KEY,
[WebName] VARCHAR(20) NULL
);
INSERT INTO "websites" VALUES(1,'CTOChina.net'); ......
.help ÏÔʾ°ïÖúÐÅÏ¢
.import FILE TABLE °ÑÎļþÖеÄÊý¾Ýµ¼Èëµ½±íÖÐ,¸÷×Ö¶ÎÓÃseparator£¨Ä¬ÈÏÊÇ"|"£©µÄֵΪ·Ö¸ô·û,ÏÂÃæÎÒÃǾٸöÀý×Ó¡£ ÎÒÃÇÔÚFÅÌϽ¨Ò»¸ödata.txtÎļþ£¬ÄÚÈÝÈçÏ£º
4|¿ªÔ´
5|¼¼Êõ
.importÃüÁî²Ù×÷ÈçÏ£º
sqlite> .import data.txt websites
sqlite>
²é¿´½á¹ûÈçÏ£º
sqlite> select * from ......
1¡¢ÈçºÎ½¨Á¢×Ô¶¯Ôö³¤×Ö¶Î?
¼ò¶Ì»Ø´ð£ºÉùÃ÷Ϊ INTEGER PRIMARY KEY µÄÁн«»á×Ô¶¯Ôö³¤¡£
³¤Ò»µãµÄ´ð°¸£º Èç¹ûÄãÉùÃ÷±íµÄÒ»ÁÐΪ INTEGER PRIMARY KEY£¬ÄÇô£¬ ÿµ±ÄãÔÚ¸ÃÁÐÉϲåÈëÒ»NULLֵʱ£¬ NULL×Ô¶¯±»×ª»»ÎªÒ»¸ö±È¸ÃÁÐÖÐ×î´óÖµ´ó1µÄÒ»¸öÕûÊý£¬Èç¹û±íÊǿյģ¬ ½«»áÊÇ1¡ ......