求助,C#连接Sqlite带密码的字符串
本文实例讲述了C#简单访问SQLite数据库的方法。
分享给大家供大家参考,具体如下:下载最新版SQLite(http://www.sqlite.org/download.html),其他版本也可以,这里使用的版本是sqlite-3_6_6_1a.解压后copy c:\sqlite-3_6_6_1b.进入cmd模式,进入sqlite-3_6_6_1目录,执行sqlite3 mytest.dbc.create table test (seq int,desc varchar(8));insert into mytable1 values (1,'item');资料建立完成2.下载System.Data.SQLite(http://sqlite.phxsoftware.com/),安装,安装后里面会有详细的DEMO和文档。
请详细查看。
3.将mytest.db复制到Bin/Debug目录下。
4.打开VS2005,参考System.Data.SQLite安装目录下的System.Data.SQLite.DLLusing System.Data.SQLite;SQLiteConnection cnn = new SQLiteConnection();cnn.ConnectionString = @"Data Source=mytest.db;Pooling=true;FailIfMissing=false"cnn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = cnn;cmd.CommandText = "SELECT * FROM test";SQLiteDataAdapter da = new SQLiteDataAdapter();da.SelectCommand = cmd;DataSet ds = new DataSet();da.Fill(ds);// 分页查询显示语句Select * From test Limit 10 Offset 10;以上语句表示从Account表获取数据,跳过10行,取10行
如何对 加密的sqlite数据库文件解密
展开全部 给SQLite数据库加密解密的方法:1、创建空的sqlite数据库。
//数据库名的后缀你可以直接指定,甚至没有后缀都可以//方法一:创建一个空sqlite数据库,用IO的方式FileStream fs = File.Create(“c:\\test.db“);//方法二:用SQLiteConnectionSQLiteConnection.CreateFile(“c:\\test.db“);创建的数据库是个0字节的文件。
2、创建加密的空sqlite数据库//创建一个密码为password的空的sqlite数据库SQLiteConnection.CreateFile(“c:\\test2.db“); SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2.db“);SQLiteConnection cnn = new SQLiteConnection(“Data Source=D:\\test2.db“);cnn.Open();cnn.ChangePassword(“password“);3、给未加密的数据库加密SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test.db“);cnn.Open();cnn.ChangePassword(“password“);4、打开加密sqlite数据库//方法一SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2.db“);cnn.SetPassword(“password“);cnn.Open();//方法二SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder();builder.DataSource = @”c:\test.db“;builder.Password = @”password“;SQLiteConnection cnn = new SQLiteConnection(builder.ConnectionString);cnn .Open();除了用上述方法给SQLite数据库加密以外,您还可以使用专业的文件加密软件将SQLite数据库加密。
超级加密 3000采用先进的加密算法,使你的文件和文件夹加密后,真正的达到超高的加密强度,让你的加密数据无懈可击。
超级加密3000使用起来,只要点击需要加密的文件的右键,即可轻松实现文件的加密。
解密只要双击已加密文件,输入密码即可轻松搞定。
乃们全都是用SQLite改数据库破解的吗
给SQLite数据库加密解密的方法:1、创建空的sqlite数据库。
//数据库名的后缀你可以直接指定,甚至没有后缀都可以//方法一:创建一个空sqlite数据库,用IO的方式FileStream fs = File.Create(“c:\\test.db“);//方法二:用SQLiteConnectionSQLiteConnection.CreateFile(“c:\\test.db“);创建的数据库是个0字节的文件。
2、创建加密的空sqlite数据库//创建一个密码为password的空的sqlite数据库SQLiteConnection.CreateFile(“c:\\test2.db“); SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2.db“);SQLiteConnection cnn = new SQLiteConnection(“Data Source=D:\\test2.db“);cnn.Open();cnn.ChangePassword(“password“);3、给未加密的数据库加密SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test.db“);cnn.Open();cnn.ChangePassword(“password“);4、打开加密sqlite数据库//方法一SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2.db“);cnn.SetPassword(“password“);cnn.Open();//方法二SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder();builder.DataSource = @”c:\test.db“;builder.Password = @”password“;SQLiteConnection cnn = new SQLiteConnection(builder.ConnectionString);cnn .Open();除了用上述方法给SQLite数据库加密以外,您还可以使用专业的文件加密软件将SQLite数据库加密。
超级加密 3000采用先进的加密算法,使你的文件和文件夹加密后,真正的达到超高的加密强度,让你的加密数据无懈可击。
超级加密3000使用起来,只要点击需要加密的文件的右键,即可轻松实现文件的加密。
解密只要双击已加密文件,输入密码即可轻松搞定。
如何从sqlite数据库中获取数据并显示在listview中
展开全部在登录页面后,我想在listview中把Apple显示成A,Boy显示成B等等,直到F。
但是在程序中当我完全登录后,只有登录表成功创建,主菜单还是没有创建。
我想在test database中创建主菜单,然后我想从主菜单表(mainmenu table)中获取数据再显示在listview中。
我使用了下面的代码:if(username.length()>0&&password.length()>0) { SQLiteAdapter db=new SQLiteAdapter(Main.this); db.openToWrite(); if(db.Login(username,password)) { System.out.println("goutham"); Intent intent=new Intent(getApplicationContext(),ExampleActivity.class); startActivity(intent); } SQLiteAdapter.java}public Cursor queueAll() { String[] columns = new String[] { KEY_ID, KEY_CONTENT }; Cursor cursor = sqLiteDatabase.query(MYDATABASE_TABLE, columns, null, null, null, null, null); return cursor;}private static class SQLiteHelper extends SQLiteOpenHelper { public SQLiteHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL(SCRIPT_CREATE_DATABASE); db.execSQL(DATABASE_CREATE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub }}public long AddUser(String username, String password) { ContentValues initialValues = new ContentValues(); initialValues.put(KEY_USERNAME, username); initialValues.put(KEY_PASSWORD, password); return sqLiteDatabase.insert(DATABASE_TABLE, null, initialValues);}public boolean Login(String username, String password) { // TODO Auto-generated method stub Cursor mCursor = sqLiteDatabase.rawQuery("SELECT * FROM " + DATABASE_TABLE + " WHERE username=? AND password=?", new String[] { username, password }); if (mCursor != null) { if (mCursor.getCount() > 0) { return true; } } return false;} }ExampleActivity.javapublic class ExampleActivity extends Activity {private SQLiteAdapter mySQLiteAdapter;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ListView listContent = (ListView) findViewById(R.id.contentlist); /* * Create/Open a SQLite database and fill with dummy content and close * it */ mySQLiteAdapter = new SQLiteAdapter(this); mySQLiteAdapter.openToWrite(); // mySQLiteAdapter.deleteAll(); mySQLiteAdapter.insert("A for Apply"); mySQLiteAdapter.insert("B for Boy"); mySQLiteAdapter.insert("C for Cat"); mySQLiteAdapter.insert("D for Dog"); mySQLiteAdapter.insert("E for Egg"); mySQLiteAdapter.insert("F for Fish"); mySQLiteAdapter.close(); /* * Open the same SQLite database and read all it's content. */ mySQLiteAdapter = new SQLiteAdapter(this); mySQLiteAdapter.openToRead(); Cursor cursor = mySQLiteAdapter.queueAll(); startManagingCursor(cursor); String[] from = new String[] { SQLiteAdapter.KEY_CONTENT }; int[] to = new int[] { R.id.text }; SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.row, cursor, from, to); listContent.setAdapter(cursorAdapter); mySQLiteAdapter.close();}}运行程序后,登录表在数据库中创建了,但是主菜单表没有创建。
运行程序后,显示一个错误:sqlite returned code=1 no such a table in MY_TABLE通过互联网整理获得以下解决方法:=================1楼=====================Database class:public String getData1() throws SQLException{ // TODO Auto-generated method stub String[] columns1 = new String[] { KEY_DATE }; Cursor c1 = ourDatabase.query(DATABASE_MARKSTABLE, columns1, null, null, null, null, KEY_ENDINGTIME+" DESC", " 30"); String result1 = ""; int isName = c1.getColumnIndex(KEY_DATE); for (c1.moveToFirst(); !c1.isAfterLast(); c1.moveToNext()) { result1 = result1 + c1.getString(isName) + " " + "\n"; } c1.close(); return result1; }
怎样查看手机中保存的wifi密码
1. 确定QT编译时已经编译了QtSql。
(默认的qt5,都已经支持了,如下目录:C:\Qt\Qt5.3.0\5.3\msvc2013_opengl\plugins\sqldrivers里有相应的驱动动态库 也可以通过如下代码测试qt5是否支持SqlServer #include #include #include #include int main(int argc, char* argv[]) { QApplication app(argc, argv); qDebug() QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) //列出Qt5所有支持的数据库类型 qDebug() QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); qDebug() } 输出结果如下: "QSQLITE""QMYSQL""QMYSQL3""QODBC""QODBC3""QPSQL""QPSQL7"ODBC driver valid? true 2. 若是没有编译,可以手动编译了qt的ODBC插件。
可以通过编译qt的时候加上 configure -plugin-sql-odbc来保证,也可以单独编译qt安装包里的~\src\plugins\sqldrivers\odbcqmake -t vclib odbc.pronmake (注:windows中为mingw32-make)编译后,在~\plugins\sqldrivers\下应该有qsqlodbcd4.dll(debug)或qsqlodbc4.dll 此时,可以用下面的程序,测试一下你的QT目前支持哪些数据库访问。
二、连接SQLServer 要注意的就是连接数据库时使用的数据库名,sqlserver和sqlite、mysql等是不同的,并不是直接写入数据库名称。
而是DSN名。
如果你已经设置好了DSN,可以直接输入DSN名。
如果没有,可以采用DSN连接字符串直接连接ODBC数据库。
1、直接设定DSN的字符串连接数据库,很简单。
/** *函数介绍:创建数据库连接 *输入参数: *返回值:无 */ bool DataAccess::createConnection() { QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) qDebug() QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); qDebug() // 注意,对于express版本数据库, 一定要加\\sqlexpress这种后缀 SERVER=58.67.161.109\\sqlexpress QString dsn = "DRIVER={SQL SERVER};SERVER=58.67.161.109;DATABASE=RDBS;UID=RDBS_USER;PWD=RDBS_USER_7010387;"; db.setHostName("58.67.161.109"); //数据库服务器,我这里不需要 //即使dsn中已经设置了UID和PASSWD,仍然需要执行setUserName和setPassword的步骤 //还要注意这里的用户名要有创建表的权限,不然创建下面的表student会不成功。
db.setDatabaseName(dsn); //数据库名 db.setUserName("RDBS_USER");//登录名,我再dsn里设置UID和PWD后,就不需要设置了 db.setPassword("RDBS_USER_7010387");//密码,我再dsn里设置UID和PWD后,就不需要设置了 if(!db.open ()) { QSqlError error = db.lastError(); QMessageBox::warning (0, "Warning", QString("Failed to open database!Error:%1").arg(error.text())); returnfalse; } returntrue; } 注意:连接数据库时, 一直连不上报错: ConnectionOpen (Invalid Instance()) , 连接无效, 结果发现微软对express版本数据库是有限制的, 在SERVER字段添加\\sqlexpress这样后缀, 连接OK。
2、手动设置ODBC数据源,然后制定DSN 控制面板->系统和安全->管理工具->数据源(ODBC) 代码: QSqlDatabase db=QSqlDatabase::addDatabase("QODBC"); db.setDatabaseName("testdsn"); db.setUserName("sa"); db.setPassword("scada"); 三、下面是ODBC和OLEDB的连接字符串写法: 1、ODBC连接字符串 //适合数据库类型 连接方式 access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;" dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;" oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;" MSSQL server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;" MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;" Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;" MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;" SQLite "Driver={SQLite3 ODBC Driver};Database=D:\SQLite\*.db" PostgreSQL "Driver={PostgreSQL ANSI};server=127.0.0.1;uid=admin;pwd=pass;database=databaseName" 2、OLEDB连接字符串 //适合的数据库类型 连接方式 access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;" oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;" MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;" MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties'text;FMT=Delimited'" F
转载请注明出处51数据库 » c sqlite password