Member 11766993 Ответов: 1

Как вставить данные в базу данных mysql с помощью кода C#


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using MySql.Data.MySqlClient;

public partial class CDA_Form : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void formsubmit(object sender, EventArgs e)
    {


       
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        String MyConString = "SERVER=localhost;DATABASE=inturealty;UID=techprodigy;PASSWORD=tech@123;";
        using (MySqlConnection connection = new MySqlConnection(MyConString))
        {
            try
            {
                

                string cmdText = "INSERT INTO cda_form(Property_Address,sellerName,buyerName,closingDate,commission,transactionFee,refferal1,refferal2) VALUES (@add,@S,@B,@c1,@caln,@br,@sr)";
                MySqlCommand cmd = new MySqlCommand(cmdText, connection);
                cmd.Parameters.AddWithValue("@add", '"+add.Text,add1.Text,c.Text,st.Text,zip.Text+'");
                cmd.Parameters.AddWithValue("@S", "'+S.Text+'");
                cmd.Parameters.AddWithValue("@B", "'+B.Text+'");
                cmd.Parameters.AddWithValue("@c1", "'+c1.Text,c2.Text,c3.Text+'");
                cmd.Parameters.AddWithValue("@caln", "'+caln.Text+'");
                cmd.Parameters.AddWithValue("@br", "'+br.Text+'");
                cmd.Parameters.AddWithValue("@sr", "'+sr.Text+'");

                string add = add.Text + " " + add1.Text + " " + c.Text + " " + zip.Text;
                MySqlCommand comm.Parameters.AddWithValue("@add", add);

                connection.Open();
                int result = cmd.ExecuteNonQuery();
                //lblError.Text = "Data Saved";
            }
            catch (Exception)
            {
                MessageBox.Show("not entered");
                //lblError.Text = ex.Message;
            }
        }
    }

}


Что я уже пробовал:

string add = add.Text + " " + add1.Text + " " + c.Text + " " + zip.Text;
                MySqlCommand comm.Parameters.AddWithValue("@add", add);

PIEBALDconsult

Ну, если вы посмотрите на то, как код отображается с помощью синтаксической раскраски, вы должны получить четкое представление о проблеме.

1 Ответов

Рейтинг:
2

RickZeeland

Смотрите эту статью [Вставка, обновление, удаление, отображение данных в MySQL с помощью C#]
Этот пример немного упрощен, таким образом, вы уязвимы для 'SQL-инъекция', это лучше использовать параметризованный запрос, смотрите пример здесь: Помогите мне с параметрами MySqlCommand в C#[^]

Другая идея состояла бы в том, чтобы использовать ОРМ, подобный NHibernate что делает обработку запросов за вас, но это довольно крутая кривая обучения. Одним из преимуществ является то, что вы можете легко переключить базу данных на другую, например PostgreSQL.