1.SQLCE
Aplikasi SqlCE adalah:
SQLCE3.5 adalah aplikasi yang bagus
kelas publik Db
{
WriteLocation kekosongan statis publik (Gps gps)
{
string appPath = Jalur.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase.ToString());
string dbcStr = @"Sumber Data =" + appPath.Replace(@" \",@" ") + @"Mc.sdf";
SqlCeConnection sqlCon = SqlCeConnection baru(dbcStr);
SqlCeCommand sqlCmd = baru SqlCeCommand(" ", sqlCon);
sqlCon.Buka();
SqlCeTransaction sqltran = sqlCon.BeginTransaction();
sqlCmd.Transaksi = sqltran;
mencoba
{
sqlCmd.CommandText = "MASUKKAN KE Lokasi_t (Lc_Dt, Lc_Longitude, Lc_Latitude, Lc_Speed, Lc_Direction) NILAI (@Lc_Dt,@Lc_Longitude,@Lc_Latitude,@Lc_Speed,@Lc_Direction)";
sqlCmd.Parameters.Add("Lc_Dt", SqlDbType.DateTime).Nilai = gps.Datetime;
sqlCmd.Parameters.Add("Lc_Longitude", SqlDbType.Desimal).Nilai = gps.DLong;
sqlCmd.Parameters.Add("Lc_Latitude", SqlDbType.Desimal).Nilai = gps.DLat;
sqlCmd.Parameters.Add("Lc_Speed", SqlDbType.Desimal).Nilai = gps.DSpeed;
sqlCmd.Parameters.Add("Lc_Direction", SqlDbType.Decimal).Nilai = gps.DDirection;
sqlCmd.ExecuteNonQuery();
sqltran.Komit();
}
menangkap (Pengecualian ex)
{
sqltran.Rollback();
}
Akhirnya
{
sqlCon.Tutup();
}
}
}
Memperbaiki SQLCE menggunakan System.Data.SqlServerCe; ql没有什么区别。
2.String Koneksi
在ConnectionString 这里我很花了点功夫,开始怎么弄都不对,后来才发现是有点窍门的。在VS2008里面,它使用的路径是.xxx.sdf,而在目标机上是不能使用相对路径的。
而绝对路径试了多次都不行 , 后来才找到一篇文章是取当前程序路径。String dbcstr = @"Sumber data =" + apppath.replace ( @" \", @" ") + @" Mc.sdf";即这一句话。
@似乎表示引号中的内容不转义,这样呢写起来会比较方便。如果用转义的也可以,这个大家可以自己去试。@"Mc.sdf",这个地方是数据库相对于执行文件的路径,
需要根据自己的实际情况进行修改。
3.一个小问题的解决
SQL 语句写数据库的时候开始有错误:Evaluasi ekspresi menyebabkan overflow. [ Nama fungsi (jika diketahui) = ]。
sqlce sp2 beta2 versi beta2 versi beta2题,将上面程序中对应的几个desimal的字段的长度和精度都进行了增加,
Pengecualian adalah pengecualian.
作者:大米猫咪来回变