using System; using System.Data.SQLite; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data; /// <summary> /// sqlite 的摘要说明 /// </summary> public class sqlite { SQLiteConnection con; public sqlite() { // // TODO: 在此处添加构造函数逻辑 // con = new SQLiteConnection(@"Data Source=D:My DocumentsVisual Studio 2005WebSitesajaxtestApp_Datanews2.sqlite"); } public void exesql(string cmdtxt) { SQLiteCommand cmd = new SQLiteCommand(cmdtxt, con); con.Open(); cmd.ExecuteNonQuery(); con.Close(); } public Table getre(string cmdtxt) { Table tb = new Table(); SQLiteCommand cmd = new SQLiteCommand(cmdtxt, con); con.Open(); SQLiteDataReader dr=cmd.ExecuteReader(); while (dr.Read()) { TableRow nrow = new TableRow(); for (int i = 0; i < dr.FieldCount; i++) { TableCell tc = new TableCell(); tc.Text = dr[i].ToString(); nrow.Cells.Add(tc); } tb.Rows.Add(nrow); } con.Close(); return tb; } }
自己写的sqlite操作类如上,使用命令行可以显示中文。自己调用方法如下
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class sltest : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { sqlite sl = new sqlite(); //sl.exesql("insert into msg values(1,'sasdasd','asdlkjalksdjsd',2007-06-14)"); Table tb = sl.getre("select * from msg"); Response.Write(tb.Rows[0].Cells[1].Text); } } }
编码UTF8和UTF16都试过,这是怎么回事呢?