Проблемы локального приложения SQL Server CE - PullRequest
1 голос
/ 19 июня 2010

Я здесь из-за проблем с SQL Server CE в приложении C #.

Это действительно простой вопрос, сначала я пытался внести INSERT в таблицу, но он этого не сделал, поэтому я искал, и решение было поместить буквенную строку для подключения к базе данных .

try
{
    cnTrupp.Open();
    SqlCeCommand com = new SqlCeCommand("INSERT INTO tipo_venta(nombre) VALUES (@nombre)", cnTrupp);
    com.Parameters.AddWithValue("@nombre", pNombre);
    com.ExecuteNonQuery();
    com.Dispose();
}
catch (SqlCeException e)
{
    LogFile log = new LogFile(e.Message);
}
finally
{
    cnTrupp.Close();
}

После этого с буквенной строкой мне было интересно, когда я разверну приложение, как я должен изменить эту строку подключения? поэтому он указывает на фактическую базу данных на новом компьютере

Ответы [ 2 ]

1 голос
/ 19 июня 2010

В комментариях к записи "Paul Sasik" говорится о записи Data Source=|DataDirectory|\example.sdf в файле app.config вашего приложения.

Ради полноты: эта часть |DataDirectory| является макросомэто автоматически расширяется до папки, в которой работает ваше приложение, и не должно быть жестко закодировано.Если вы хотите изменить папку, вы можете использовать следующую строку в Program.cs:

AppDomain.CurrentDomain.SetData("DataDirectory", <New Folder>);

По крайней мере, это верно для настольных приложений.Поскольку мобильные приложения (в VS 2005 и 2008) не поддерживают один и тот же механизм конфигурации, вам необходимо вручную создать строку подключения.

0 голосов
/ 19 июня 2010

Используйте файл .NET app.config. Это статья VB , но вы начнете.

. Конфигурационные файлы .NET довольно просты в работе, но с такой информацией, как соединение с БД, вы можете рассмотреть возможность шифрования строки в конфигурационном файле. Или хотя бы пароль. Это если безопасность является проблемой. Много раз это не так. Особенно на мобильных устройствах, которые по своей природе небезопасны (по крайней мере, в мире WinCE ... до CE5 v.6)

...