先 using System.Data.SqlServerCe;
加入參考,下面是原始網址
http://430895101.blogspot.tw/2013/05/c-sqlceconnection-systemdatasqlserverce.html
system.data.sqlserverce.dll,其路徑為 『C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Desktop\System.Data.SqlServerCe.dll』,視版本,4.0 存在『C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll』,只要將這個 DLL 加入參考就可以正常使用了。
32位元版則在『C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Desktop\System.Data.SqlServerCe.dll』與『C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll』
try
{
String strConn = @"Data Source=|DataDirectory|\Database1.sdf;";
using (SqlCeConnection conn = new SqlCeConnection(strConn)) //這裡要改一下
{
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand(strCmd, conn)) //這裡要改一下
{
}
conn.Close();
}
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
原本是打算一次多筆 INSERT進資料庫,但找了很多資料,好像這種模式不支援
一次 INSERT 一筆ok,但一次 INSERT多筆就不行
網路上有人說可以用SqlCeBulkCopy.2.1.6.12.zip
https://sqlcebulkcopy.codeplex.com/
改天再試看看
using System.Data.SqlServerCe; //這個要加入參考System.Data.SqlServerCe
using ErikEJ.SqlCe; //這個要加入參考ErikEJ.SqlCe.NetCF
String dataSource = @"Data Source=D:\tmp\TEST_SqlCeBulkCopy\TEST_SqlCeBulkCopy\bin\Debug\Test.sdf";
using (SqlCeBulkCopy bc = new SqlCeBulkCopy(dataSource))
{
bc.DestinationTableName = "LoadData"; //LoadData指的是sdf裡的table name
bc.WriteToServer(dt); //dt就是來源的DataTable的資料
}
db超過256m會出問題,要改 Max Database Size
String strConn = @"Data Source=|DataDirectory|\Database1.sdf;Max Database Size=1024;Persist Security Info=False;";
沒有留言:
張貼留言