Я разрабатываю свое приложение в Visual Studio 2012 с .NET Framework 4.5 и используя MDF-файл как локальный db. Проблема здесь в том, что изменения, внесенные в данные во время выполнения, не сохраняются постоянно. Тем не менее, я могу получить данные во время выполнения, даже сохранить его, но они не отображаются в проводнике сервера. Я уже установил свойство «Скопировать в файл вывода» файла MDF в «Копировать, если новый», но проблема все еще существует. Как это решить?LocalDB Свойство файла MDF «Копировать, если новый» не работает
Это строка подключения в app.config приложения. Раньше я пробовал файл Sexate data set .xsd, но безрезультатно.
<connectionStrings>
<add name="EA_Logistics_Control.Properties.Settings.LogisticsLocalDBCS"
connectionString="Data Source=(LocalDB)\v11.0
AttachDbFilename=|DataDirectory|\LocalDBs\LogisticsLocalDB.mdf;Integrated
Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Некоторые могли бы предложить:
- Использование SQLExpress в качестве сервера вместо LocalDB или
- Попробуйте подключиться к LocalDB программным и заменить Bin \ Debug с "folder_name \ file_name.mdf"
но тогда они не являются актуальными решениями, просто альтернативными. Кто-нибудь может объяснить, что здесь происходит? и как его решить?
В соответствии с просьбой, C# код:
DateTime dt = DateTime.Now;
string CDate = dt.Month + "/" + dt.Day + "/" + dt.Year;
int norid = 0, neeid = 0, cfrom = 0, cto=0;
SqlConnection SCon = new SqlConnection(ConfigurationManager.ConnectionStrings["EA_Logistics_Control.Properties.Settings.LogisticsLocalDBCS"].ConnectionString);
if (SCon.State == ConnectionState.Closed)
SCon.Open();
SqlCommand SCom = new SqlCommand("INSERT INTO Consignments VALUES(@CNo, @CDate, @InvoiceNo, @SignorID, @SigneeID, @TravelFrom, @TravelTo, @Packages, @Contents, @VehicleNo, @Rate, @Weight, @Amount, '')", SCon);
SCom.Parameters.AddWithValue("CNo", TB_IC_CN.Text);
SCom.Parameters.AddWithValue("CDate", CDate);
SCom.Parameters.AddWithValue("InvoiceNo", TB_IC_O_Inv.Text);
SCom.Parameters.AddWithValue("SignorID", norid);
SCom.Parameters.AddWithValue("SigneeID", neeid);
SCom.Parameters.AddWithValue("TravelFrom", cfrom);
SCom.Parameters.AddWithValue("TravelTo", cto);
SCom.Parameters.AddWithValue("Packages", TB_IC_NUM_O_Pkgs.Text);
SCom.Parameters.AddWithValue("Contents", TB_IC_Desc.Text);
SCom.Parameters.AddWithValue("VehicleNo", TB_IC_O_Veh.Text);
SCom.Parameters.AddWithValue("Rate", TB_IC_NUM_O_Rate.Text);
SCom.Parameters.AddWithValue("Weight", TB_IC_NUM_O_Wt.Text);
SCom.Parameters.AddWithValue("Amount", TB_IC_NUM_Amt.Text);
int resRows = SCom.ExecuteNonQuery();
if (resRows > 0)
{
MessageBox.Show("New entry has been inserted.");
}
Он показывает мне окно и я также видел количество строк во время отладки.
Показать код, который используется для сохранения изменений данных во время выполнения. –
Итак, ваш проводник сервера использует исходный файл, и приложение использует файл в каталоге bin, что является проблемой? Это действительно проблема? –
Моя проблема в том, что данные не сохраняются. Можете ли вы предложить, как это решить? –