SqlCE 3.5使用ConnectionString设定及错误解决
1.SQLCE的使用 SqlCE的使用和普通SQL区别不大,但是包不一样,不多说看例子: SQLCE3.5使用例程: public class Db{ public static void WriteLocation(Gps gps) { string appPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase.ToString()); string dbcStr = @"Data Source =" + appPath.Replace(@"",@"") + @"Mc.sdf"; SqlCeConnection sqlCon = new SqlCeConnection(dbcStr); SqlCeCommand sqlCmd = new SqlCeCommand(" ",sqlCon); sqlCon.Open(); SqlCeTransaction sqltran = sqlCon.BeginTransaction(); sqlCmd.Transaction = sqltran; try { sqlCmd.CommandText = "INSERT INTO Location_t (Lc_Dt,Lc_Longitude,Lc_Latitude,Lc_Speed,Lc_Direction) VALUES (@Lc_Dt,@Lc_Longitude,@Lc_Latitude,@Lc_Speed,@Lc_Direction)"; sqlCmd.Parameters.Add("Lc_Dt",SqlDbType.DateTime).Value = gps.Datetime; sqlCmd.Parameters.Add("Lc_Longitude",SqlDbType.Decimal).Value = gps.DLong; sqlCmd.Parameters.Add("Lc_Latitude",SqlDbType.Decimal).Value = gps.DLat; sqlCmd.Parameters.Add("Lc_Speed",SqlDbType.Decimal).Value = gps.DSpeed; sqlCmd.Parameters.Add("Lc_Direction",SqlDbType.Decimal).Value = gps.DDirection; sqlCmd.ExecuteNonQuery(); sqltran.Commit(); } catch (Exception ex) { sqltran.Rollback(); } finally { sqlCon.Close(); } } } 首先需要注意SQLCE需要 using System.Data.SqlServerCe;并且相关的类都要由Sql开头变为SqlCe开头。至于使用则和普通Sql没有什么区别。 2.ConnectionString 在ConnectionString这里我很花了点功夫,开始怎么弄都不对,后来才发现是有点窍门的。在VS2008里面,它使用的路径是.xxx.sdf,而在目标机上是不能使用相对路径的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |