दो मानों को एक स्तंभ में डालें जिसमें गुणा सी #

हाय सब मुझे एक कार्यक्रम के साथ कुछ समस्या है कुछ मदद की सराहना करेंगे।

  1. Firstly I am trying to take Donation_euro.Text and times it by 0.83 to get the conversion rate, I think I have done this correct but it dose not seem to be working. (reason for the conversion is that I can have only one currency in my database).

  2. Secondly I am trying to insert donation_total and donation.Text into the same column, this will give my user the choice of paying in Euro's or Pound's. but it seems I can not do this the way I have tried, is there a way to fix this to get it to work?

                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);
                } 
    

note: Donation_euro.Text and donation.Text are both text boxes and I have my table column set to double

1
एचएम मैं कोशिश करूंगा, धन्यवाद
जोड़ा लेखक Beep, स्रोत
ठीक है, मैं दोनों तरीकों का प्रयास करूंगा धन्यवाद
जोड़ा लेखक Beep, स्रोत
आप दो कॉलम <कोड> ग्राहक (दान, दान_टॉटल) में डालने का भी प्रयास कर रहे हैं लेकिन आप केवल एक मूल्य प्रदान कर रहे हैं
जोड़ा लेखक iamkrillin, स्रोत
donation.Text + donation_total को donation_total के साथ बदलें, यह मानकर कि डीबी डबल मान की अपेक्षा कर रहा है। आप बिना किसी कलाकार के डबल के साथ एक स्ट्रिंग "जोड़" नहीं सकते हैं और यह ठीक है कि आपका कोड क्या कर रहा है।
जोड़ा लेखक varocarbas, स्रोत

2 उत्तर

इसे इस्तेमाल करे:

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);
1
जोड़ा
धन्यवाद, इस समय काम नहीं कर रहा है लेकिन यह जारी रहेगा और आपको यह बताएगा कि यह काम करता है या नहीं।
जोड़ा लेखक Beep, स्रोत

आप 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!

1
जोड़ा
धन्यवाद, इस समय काम नहीं कर रहा है लेकिन मैं कोशिश करता रहूंगा
जोड़ा लेखक Beep, स्रोत
यह eqation भाग के साथ एक त्रुटि फेंक रहा है, डबल donation_euro = कनवर्ट करें। दोहरी (Donation_euro.Text); कहता है स्ट्रिंग को गलत स्वरूपित किया गया है।
जोड़ा लेखक Beep, स्रोत
हाँ, ठीक है धन्यवाद। और हाँ मैं डेटा दर्ज कर रहा हूँ।
जोड़ा लेखक Beep, स्रोत
आपका क्या मतलब है, यह काम नहीं कर रहा है - क्या आपको कोई त्रुटि मिलती है? आपको कोई त्रुटि नहीं मिलती है, लेकिन कोई मान डाला नहीं जाता है?
जोड़ा लेखक Thorsten Dittmar, स्रोत
खैर, डेटाबेस में डालने के साथ इसका कोई लेना-देना नहीं है। बेशक आपको टेक्स्ट बॉक्स में कुछ मूल्य दर्ज करना होगा जिसे डबल में परिवर्तित किया जा सकता है ...
जोड़ा लेखक Thorsten Dittmar, स्रोत