<connectionStrings> <add connectionString="Data Source=相对安装目录的路径(测试成功的路径);Pooling=true;FailIfMissing=false" providerName="System.Data.SQLite"/> </connectionStrings>
4.SQLiteHelper.cs获取connectionString,操作(读取)数据库:
复制代码 代码如下:
string str = System.Configuration.ConfigurationManager.ConnectionStrings["DB_XHKSQLite"].ToString();
“[]”里的参数与Web.config的connectionStrings的add的name相对应。
另外除了下载工具创建数据库外,还可以参考:https://www.jb51.net/article/67311.htm 用C#代码创建,并操作SQLite数据库(此方法未实践,因为我用SQLite Expert Personal 4.1 的图形化界面实现的,此软件界面如下图所示:)
对于初期的测试,建议用下面内容:
(在类库下此处记得引用System.Configuration,因为默认下他不被引用,当然对于面对VS2010错误的你,应该自己会发现的,别的细节就忽略了,我忘了还有什么细节了)
从数据库获取的数据时dataset的,此处把它变成datatable,再转成json传给前台。
下面是js需要调用的ashx文件的主干内容:
//这是获取连接字符串 string str = System.Configuration.ConfigurationManager.ConnectionStrings["DB_XHKSQLite"].ToString(); DataSet ds = new DataSet(); //声明一个Sqlite数据库的链接 using (SQLiteConnection conn = new SQLiteConnection(str)) { //创建sqlite命令 using (SQLiteCommand comm = conn.CreateCommand()) { //打开数据库链接 conn.Open(); //select数据分页用limit就行,很方便 comm.CommandText = "Select * From book"; using (SQLiteDataAdapter adapter = new SQLiteDataAdapter(comm)) { adapter.SelectCommand = comm; adapter.Fill(ds); } DataTable dt = new DataTable(); dt = ds.Tables[0]; // Common.Common ff = new Common.Common(); string strjson = Common.Common.DataTableToJson(dt, 1); context.Response.Write(strjson); } }
Common.Common.DataTableToJson代码:(按实际需要改格式)
public static string DataTableToJson(DataTable dt, int count) { StringBuilder sbjson = new StringBuilder(); sbjson.Append("{"); sbjson.Append("\"total\":" + count + ",\"rows\":["); if (dt != null) { for (int i = 0; i < dt.Rows.Count; i++) { if (i > 0) { sbjson.Append(","); sbjson.Append("{"); foreach (DataColumn dc in dt.Columns) { if (dt.Columns.IndexOf(dc) > 0) { sbjson.Append(","); sbjson.Append("\"" + dc.ColumnName + "\":\"" + dt.Rows[i][dc.ColumnName].ToString().Trim() + "\""); } else { sbjson.Append("\"" + dc.ColumnName + "\":\"" + dt.Rows[i][dc.ColumnName].ToString().Trim() + "\""); } } sbjson.Append("}"); } else { sbjson.Append("{"); foreach (DataColumn dc in dt.Columns) { if (dt.Columns.IndexOf(dc) > 0) { sbjson.Append(","); sbjson.Append("\"" + dc.ColumnName + "\":\"" + dt.Rows[i][dc.ColumnName].ToString().Trim() + "\""); } else { sbjson.Append("\"" + dc.ColumnName + "\":\"" + dt.Rows[i][dc.ColumnName].ToString().Trim() + "\""); } } sbjson.Append("}"); } } } sbjson.Append("]}"); return sbjson.ToString(); }
这是本人3天的摸索,感谢网上的各种资料,还有师父的远程帮助,谨以此总结献给有需要的你,希望你能更快地实现前后台的交互,若有误导请原谅!
总结:运行程序好像不仅仅是代码的事(当然,如果你够厉害应该都可以用代码实现),他有时需要与图形界面结合,设置权限等等,在一系列实现事情的过程中,逐一排查,才会呈现你想要的效果。——这是一个需要耐心的过程,这也是一个对未知的探索过程。加油!