مشکل در اضافه کردن اطلاعات به دیتابیس
سلام
من یک دیتابیس به نام DCollege و یک جدول به نام TCollege ساختم ، فرم Visual بدین شکل هست :
http://ahvazsell.com/Test/DB-Error-1.png
زمانی که اطلاعات رو در TextBox ها وارد می کنم و کلید Insert رو میزنم با خطای :
No overload for method 'EndExecuteNonQuery' takes 0 arguments
مواجه میشم.
به این دستور خطا میده :
com1.EndExecuteNonQuery();
این کدهای دکمه Insert من هست :
private void button2_Click(object sender, EventArgs e)
{
SqlConnection con1 = new SqlConnection("Integrated Security=true;Initial Catalog=DCollage");
con1.Open();
String strQuery = String.Format("INSERT INTO TCollege VALUES ('{0}','{1}','{2}')", textBox2.Text, textBox3.Text);
SqlCommand com1 = new SqlCommand(strQuery, con1);
com1.EndExecuteNonQuery();
con1.Close();
load_database();
}
این هم کل کدها :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
namespace DataBase
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void load_database()
{
SqlConnection con1 = new SqlConnection("Integrated Security=TRUE;Initial Catallog=DCollege");
con1.Open();
SqlDataAdapter da1 = new SqlDataAdapter("SELECT * FROM TCollege", con1);
DataSet ds1 = new DataSet();
da1.Fill(ds1, "TEMP");
dataGridView1.DataSource = ds1;
dataGridView1.DataMember = "TEMP";
con1.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'dCollegeDataSet.TCollege' table. You can move, or remove it, as needed.
this.tCollegeTableAdapter.Fill(this.dCollegeDataSe t.TCollege);
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con1 = new SqlConnection("Integrated Security=TRUE;Initial Catalog=DCollege");
con1.Open();
String strQuery = "DELETE FROM TCollege WHERE STno ='" + textBox1.Text + "'";
SqlCommand com1 = new SqlCommand(strQuery, con1);
com1.ExecuteNonQuery();
con1.Close();
load_database();
}
private void button2_Click(object sender, EventArgs e)
{
SqlConnection con1 = new SqlConnection("Integrated Security=true;Initial Catalog=DCollage");
con1.Open();
String strQuery = String.Format("INSERT INTO TCollege VALUES ('{0}','{1}','{2}')", textBox2.Text, textBox3.Text);
SqlCommand com1 = new SqlCommand(strQuery, con1);
com1.EndExecuteNonQuery();
con1.Close();
load_database();
}
}
}
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
به جای این دستور
com1.EndExecuteNonQuery();
دستور زیر رو بنویسید :
com1.ExecuteNonQuery();
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
جایگزین کردم و اجرا الآن زمان اضافه کردن اطلاعات به :
con1.Open();
گیر میده.
Cannot open database "DCollage" requested by the login. The login failed.
Login failed for user 'payam-PC\payam'.
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
دوست عزیز کانکشن استرینگت اشتباهه
باید اینجوری باشه
SqlConnection con1 = new SqlConnection(@"data source=.\\sqlexpress;Integrated Security=true;Initial Catalog=DCollage");
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
فکر کنم کلمه DCollege رو در کانکشن اشتباه نوشتی!!(با توجه به پست اول)
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
دستور کانکشن استرینگم روی دکمه Delete به درستی کار میکنه اما روی insert خیر.
جایگزین شد اما مشکل برطرف نشد.
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
رو اینسرت اطلاعات چه اروری میده؟
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
نقل قول:
نوشته شده توسط
mafaman2003
فکر کنم کلمه DCollege رو در کانکشن اشتباه نوشتی!!(با توجه به پست اول)
کاملا" درسته تصحیح شد ممنون از دقتتون ، اما حالا به این خط گیر میده:
String strQuery = String.Format("INSERT INTO TCollege VALUES ('{0}','{1}','{2}')", textBox2.Text, textBox3.Text);
Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
TextBox4 یادم رفته بود اضافه کنم اطلاعات اضافه شد.
از همه عزیزان که پاسخ دادن ممنونم ، واقعا ممنون.
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
دلیل استفاده از "@" تو کانکشن استرینگ چیه ؟
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
نقل قول:
نوشته شده توسط
Fastdesign
دلیل استفاده از "@" تو کانکشن استرینگ چیه ؟
در زبان سی \ بک اسلش باعث میشه رشته بسته بشه.
ما میایم قبلش @ میذاریم تا تا بک اسلش خنثی بشه و دیگه اروری نمیبینی.
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
چرا این کانکشن استرینگو هی تکرار کردی؟نیازی نیست!همون اول تعریفش کن.
نقل قول: مشکل در اضافه کردن اطلاعات به دیتابیس
نقل قول:
نوشته شده توسط
پیام حیاتی
کاملا" درسته تصحیح شد ممنون از دقتتون ، اما حالا به این خط گیر میده:
String strQuery = String.Format("INSERT INTO TCollege VALUES ('{0}','{1}','{2}')", textBox2.Text, textBox3.Text);
Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
در قسمت values سه مقدار معرفی کردی ولی به دو تاش مقدار دادی. اصلاح کن.