2013-11-27 4 views
1

Привет, все, что у меня есть. Некоторые проблемы с программой оценят некоторую помощь.Вставьте два значения в один столбец, включая умножение C#

  1. Во-первых, я пытаюсь взять Donation_euro.Text и порой по 0,83, чтобы получить степень конверсии, я думаю, что я сделал это правильно, но доза, кажется, не работает. (причина для конверсии заключается в том, что у меня может быть только одна валюта в моей базе данных).

  2. Во-вторых, я пытаюсь вставить donation_total и donation.Text в тот же колонок, это даст моему пользователю выбор оплаты в Евро-й или Паунд. но кажется, что я не могу сделать это так, как у меня есть , есть ли способ исправить это, чтобы заставить его работать?

      Double donation_euro = Convert.ToDouble(Donation_euro.Text); 
          Double convertion_rate = 0.83; 
          Double donation_total = donation_euro * convertion_rate; 
    
          da.InsertCommand = new MySqlCommand("INSERT INTO Customer(Donation,donation_total)VALUES (@Donation)", cs); 
          { 
    
           da.InsertCommand.Parameters.AddWithValue("@Donation", donation.Text + donation_total); 
          } 
    

примечание: Donation_euro.Text и donation.Text are both text boxes and I have my table column set to double

+0

Замените 'donation.Text + donation_total' на' donation_total', предположив, что DB ожидает двойное значение. Вы не можете «добавить» строку с двойным без каких-либо изменений, и это именно то, что делает ваш код. – varocarbas

+0

hm Я постараюсь, спасибо – Beep

+0

Вы также пытаетесь вставить в два столбца 'Customer (Donation, donation_total)', но вы предоставляете только одно значение – iamkrillin

ответ

1

Вы пытаетесь заполнить на поля, используя INSERT, но вы только обеспечивая одно значение в VALUES раздел заявления. Это дает ошибку в вызове, так как это неверный SQL.

Изменить это следующим образом:

da.InsertCommand = new MySqlCommand("INSERT INTO Customer(Donation,donation_total) VALUES (@Donation, @Total)", cs); 
{ 
    da.InsertCommand.Parameters.AddWithValue("@Donation", donation.Text); 
    da.InsertCommand.Parameters.AddwithValue("@Total", donation_total); 
} 

О: И +1 за использование параметризованных запросов!

+0

Спасибо, сейчас не работает, но я буду продолжать пытаться – Beep

+0

Что вы имеете в виду, * он не работает * - вы получаете сообщение об ошибке? Вы не получаете ошибку, но значения не вставлены? –

+0

сбрасывает ошибку с помощью элемента eqation, 'Double donation_euro = Convert.ToDouble (Donation_euro.Text);' говорит, что строка отформатирована неправильно. – Beep

1

Попробуйте это:

da.InsertCommand.Parameters.AddWithValue("@Donation", donation_total); 

вместо:

da.InsertCommand.Parameters.AddWithValue("@Donation", donation.Text + donation_total); 

Кроме того, ваша вставка оператор ожидает, что второй параметр. (Надеюсь, вы обеспечиваете, что в реальном коде)

da.InsertCommand = new MySqlCommand("INSERT INTO Customer(Donation,donation_total)VALUES (@Donation)", cs); 
+0

Спасибо, не работает на но будет продолжаться и сообщить, работает ли он. – Beep

Смежные вопросы