Member 13733896 Ответов: 2

Дорогие все, ниже qurey we worte in C# to insert the data to SQL db..i I could not get secceed. Может ли кто-нибудь помочь нам ресоваться.


using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Econtact
{
    class Contactclass
    {
        //public int  { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Address { get; set; }
        

        static string myconnection = ConfigurationManager.ConnectionStrings["connstring"].ConnectionString;

        public DataTable Select()
        {
            SqlConnection conn = new SqlConnection(myconnection);
            DataTable dt = new DataTable();
            try
            {
                string sql = "SELECT * FROM tbl_contact";
              
                SqlCommand cmd = new SqlCommand(sql, conn);
                SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                conn.Open();
                adapter.Fill(dt);
            }
            catch (Exception)
            {

            }
            finally
            {
                conn.Close();
            }
            return dt;

        }
        public bool Insert(Contactclass c)
        {
            bool issuccess = false;
            SqlConnection conn = new SqlConnection(myconnection);
            try
            {

                string sql = "INSERT INTO tbl_contact('FirstName', 'LastName', 'Address') VALUES('@FirstName', '@LastName', '@Address')";
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.AddWithValue("@FirstName", c.FirstName);
                cmd.Parameters.AddWithValue("@LastName", c.LastName);
                cmd.Parameters.AddWithValue("@Address", c.Address);

                conn.Open();
                int rows = cmd.ExecuteNonQuery();

                if (rows > 0)
                {
                    issuccess = false;
                }
                else
                {
                    issuccess = true;
                }
              }


            catch (Exception)
            {

            }
            finally
            {
                conn.Close();
            }
                return issuccess;
            
        }
        
    }
}


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

Уважаемые все, ниже Qurey мы писали на C#, чтобы вставить данные в базу данных SQL.. у меня не получилось добиться успеха. может ли кто-нибудь помочь нам решить эту проблему?(Использование VB , windows form)

2 Ответов

Рейтинг:
2

OriginalGriff

Цитаты... они помечают строки в SQL. Поэтому, когда вы помещаете затем вокруг своих имен параметров, они принимаются как литеральные строки.
Попробовать это:

string sql = "INSERT INTO tbl_contact(FirstName, LastName, Address) VALUES(@FirstName, @LastName, @Address)";


Member 13733896

использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel;
использование System.Data;
использование системы.Рисование;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;
использование системы.Окна.Формы;

пространство имен Econtact
{
общественности частичного класс form1 : форма
{
Contactclass c = новый Contactclass();

открытый form1()
{
метод InitializeComponent();
}

частная Add_Click недействительным(объект отправителя, EventArgs в электронной)
{
c.FirstName = txtAddress.Текст;
c.фамилия = txtLastName.Текст;
c.Address = txtAddress.Текст;


bool isSuccess = c.Insert(c);

if(isSuccess == true)
{
Ящик для сообщений.Показать("успешно вставлено");
}
еще
{
Ящик для сообщений.Шоу("Пожалуйста, Попробуйте Еще Раз");
}

}
}
}

OriginalGriff

Это кусок кода, который, по-видимому, не имеет никакого отношения к исходному вопросу?
Что ты хочешь, чтобы я с ним сделал? :смеяться:

Member 13733896

Уважаемый господин,
я очень новичок в кодировании..я взял так много ссылок из интернета и сделал это...пожалуйста, помогите

первое что публикуется это класс

второй - кнопка...Я звоню в контакт calss из кнопки

пожалуйста, помогите мне учиться.

OriginalGriff

Мы не занимаемся репетиторством один на один, поэтому я буду игнорировать ваше прямое электронное письмо с исходным кодом.

Тем более, что это то же самое, что и приведенный выше код с внесенной коррекцией.
Мы не сможем вам помочь, если вы не скажете нам, в чем проблема и как вы ее решили. Просто сказать "Пожалуйста, помогите мне учиться" ничего не значит, так как мы понятия не имеем, что вы пытаетесь узнать из этого!

Member 13733896

сэр, я хочу вставить имя, фамилию и адрес в таблицу tbl_Contact, используя приведенный выше код...

после ввода всех деталей в форму и нажатия кнопки Добавить все детали должны перейти и обновиться в sql db.

- спасибо, сэр.

OriginalGriff

И я предполагаю, что он не делает то, что вы хотите?
Что он делает? Когда он это делает? Что вы передаете ему, чтобы заставить его сделать это?

Начните с того, что не глотайте исключения:

catch (исключение)
{

}

Это просто скрывает всю информацию, которая может понадобиться для решения проблемы, и использует отладчик, чтобы точно выяснить, что происходит. Мы не можем сделать это за вас: у нас нет доступа к вашей базе данных!

Member 13733896

сэр, не могли бы вы поделиться с нами одним мирным кодом, который может удовлетворить мое требование.

OriginalGriff

Нет, я не могу - я не могу запустить ваш код против вашей базы данных, потому что у меня нет никакого доступа к нему; поэтому я даже не могу начать говорить, работает ли он, и если нет, то в чем может быть ошибка(ы).

Вы написали код, так что теперь вы должны знать, как использовать отладчик - так и делайте! И выясните, что именно происходит.

Рейтинг:
0

#realJSOP

Измените строку запроса на эту:

string sql = "INSERT INTO tbl_contact (FirstName, LastName, Address) VALUES (@FirstName, @LastName, @Address)";