簡體   English   中英

如何使用 C# 將組合框值插入 SQL Server

[英]How to insert combo box value into SQL Server using C#

我是 C# 新手,所以請檢查我的代碼。 它停在cmd.ExecuteNonQuery(); 在這里,但是當我簡單地插入日期時,它可以工作但不能插入組合框。

SQL 查詢是否正確?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace newpro
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            object sel = comboBox1.SelectedValue;

            SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\users\abdul samad\documents\visual studio 2013\Projects\newpro\newpro\Database1.mdf;Integrated Security=True");
            con.Open();
            SqlCommand cmd = new SqlCommand("INSERT INTO registor (Name, FullName, Password, Email, Gander) VALUES ('"+txtfname.Text+"','"+txtfname.Text+"', '"+txtuname.Text+"', '"+txtpass.Text+"', '"+txtemail.Text+"','"+comboBox1+"');",con);

            cmd.ExecuteNonQuery();

            cmd.Clone();

            MessageBox.Show("Record inserted");
            con.Close();
        }
    }
}

您必須從組合框中獲取選定的值。 combobox1 只返回類名System.Windows.Forms.ComboBox

除了其他的,建議使用參數 .. 像這樣:

private void button1_Click(object sender, EventArgs e)
{
    using(SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\users\abdul samad\documents\visual studio 2013\Projects\newpro\newpro\Database1.mdf;Integrated Security=True"))
    {
        try
        {

            using (var cmd = new SqlCommand("INSERT INTO registor (Name, FullName, Password, Email, Gander) VALUES (@Name,@Fullname,@Password,@Email, @Gander)"))
            {

                cmd.Connection = con;   
                cmd.Parameters.Add("@Name", txtfname.Text);
                cmd.Parameters.Add("@Fullname", txtfname.Text);
                cmd.Parameters.Add("@Password", txtpass.Text);
                cmd.Parameters.Add("@Email", txtemail.Text);
                cmd.Parameters.Add("@Gander", comboBox1.GetItemText(comboBox1.SelectedItem));

                con.Open()
                if(cmd.ExecuteNonQuery() > 0) 
                {
                   MessageBox.Show("Record inserted"); 
                }
                else
                {
                   MessageBox.Show("Record failed");
                }
            }
        }
        catch (Exception e)
        {
            MessageBox.Show("Error during insert: " + e.Message);
        }
    }
}
public void insertfunction()
        { 

           string sqlconn = ConfigurationManager.ConnectionStrings["myConnection"].ConnectionString;
            SqlConnection cn = new SqlConnection(sqlconn);
            cn.Open();
            String query = "insert into PatientRecords values(@Patient_Name,@Cnic,@Phone,@Address,@Age,@Doctor_Reference,@City)";
            SqlCommand cmd = new SqlCommand(query,cn);
           // cmd.Parameters.AddWithValue("@Patient_Id", pid.Text);
            cmd.Parameters.AddWithValue("@Patient_Name", pname.Text);
            cmd.Parameters.AddWithValue("@Cnic", pcnic.Text);
            cmd.Parameters.AddWithValue("@Phone", pphone.Text);
            cmd.Parameters.AddWithValue("@Address", paddress.Text);
            cmd.Parameters.AddWithValue("@City", cmbopcity.GetItemText(cmbopcity.SelectedItem));
            cmd.Parameters.AddWithValue("@Age", page.Text);
            cmd.Parameters.AddWithValue("@Doctor_Reference", prefdoc.Text);


            if (cmd.ExecuteNonQuery() > 0)
            {
                MessageBox.Show("Record Successfully inserted");
            }
            else
            {
                MessageBox.Show("Record failed");
            }
            cn.Close();


        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM