вставить в sql запрос в wpf - PullRequest
       21

вставить в sql запрос в wpf

2 голосов
/ 15 декабря 2009

Привет всем, я новичок в wpf. так что у меня есть проблемы с этим. если ты поможешь мне, я буду очень рад. заранее всем спасибо.

Моя проблема в том, что я не могу вставить имя в базу данных в wpf. как я могу это исправить? мои коды следующие;

private void button1_Click(object sender, RoutedEventArgs e)
{       
    try
    {
        string SqlString = "Insert Into UserInformation(name) Values (?)";
        using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Cell.mdb;Persist Security Info=True"))
        {
            using (OleDbCommand cmd = new OleDbCommand(SqlString, conn))
            {
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddWithValue("name", textBox1.Text);
                conn.Open();
                cmd.ExecuteNonQuery();

            } 
        }
    }
    catch (Exception ex)
    {  }
}

Ответы [ 3 ]

0 голосов
/ 15 декабря 2009

Проблема здесь выглядит как параметр. В тексте команды вы не указываете его имя, но когда вы добавляете его, у него есть имя. Изменить текст команды на:

Insert Into UserInformation(name) Values (@name)

В строке: cmd.Parameters.AddWithValue("name", textBox1.Text);

имя параметра должно оставаться без @.

0 голосов
/ 15 декабря 2009

Правильно ли открывается файл базы данных? Как и предлагали люди в комментариях, настройте Visual Studio для разбивки исключений первого шанса или удалите обработку исключений. Файл базы данных должен существовать, и вам нужны соответствующие драйверы JET.

Я попробовал ваш код, и он работает без проблем здесь (в приложении WPF или иным образом). Использование именованных параметров вместо знака вопроса было хорошим предложением, но, похоже, это не проблема. (У меня установлены Office 2007 и .NET 3.5 SP1, но я сомневаюсь, что это важно).

Используете ли вы браузерное приложение WPF (cbap)? Потому что вы не сможете получить доступ к локальной файловой системе (и, следовательно, к базе данных), если у вас есть. Браузерные приложения WPF работают с изолированными разрешениями, так же, как браузерные приложения Silverlight.

0 голосов
/ 15 декабря 2009

Попробуйте использовать cmd.Parameters.AddWithValue("@name", textBox1.Text);

...