PDA

View Full Version : سوال: متصل نشدن و نمایش ندادن اطلاعات database در datagridview



vahidth
دوشنبه 27 آذر 1391, 11:44 صبح
سلام دوستان
تو sql server manager وارد شدم و گزینه sqlexpress\. رو وارد کردم و وارد sql شدم و اونجا یه دیتابیس ساختم و جدول هم براش ساختم و روی دیتابیسی که ساختم کلیک راست کردم و گزینه detach رو زدم سپس یه پروژه سی شارپ ساختم و دیتابیسی که ساخته بودم رو کپی کردم و در پوشه bin--Debug ریختم و وارد سی شارپ شدم روی پروِه کلیک راست کردم و گزینه New --- Existing رو کلیک کردم و دیتابیس رو که به پوشه Debug کپی کرده بودم رو انتخاب کردم و به پروِژه اضافه شد
96806
و سپس کد برای درج در بانک رو اینجوری نوشتم
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.SqlClient;

namespace newnew
{
public partial class Form1 : Form
{
SqlConnection sc = new SqlConnection(@"Data Source=.\sqlexpress;AttachDbFilename=|DataDirector y|\db1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
DataView dv = new DataView();

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
da = new SqlDataAdapter("select * from table", sc);
ds.Clear();
da.Fill(ds, "table");
dataGridView1.DataSource = ds.Tables["table"]; ;
}

private void button1_Click(object sender, EventArgs e)
{
try
{
DialogResult Result_Save = MessageBox.Show("آیا اطلاعات مشتری ثبت شوند؟", "ثبت اطلاعات", MessageBoxButtons.YesNo);
if (Result_Save == DialogResult.Yes)
{
sc.Open();
SqlCommand my_cn = new SqlCommand("insert into table(code,name,family ) values(@cd_temp,@name_temp,@family_temp)", sc);
my_cn.Parameters.AddWithValue("@cd_temp", Int32.Parse(textBox1.Text));
my_cn.Parameters.AddWithValue("@name_temp", textBox2.Text);
my_cn.Parameters.AddWithValue("@family_temp", textBox3.Text);

my_cn.ExecuteNonQuery();
Form1_Load(sender, e);
}
}
catch (SqlException ex)
{
if (ex.Number == 2627)//درصورتی که کد کالا تکراری بود
{
MessageBox.Show(" این کد قبلا ثبت شده ", "ثبت اطلاعات");

}
}
finally
{
if (sc.State != ConnectionState.Closed)
{
sc.Close();
}
}
}
}
}

و وقتی برنامه رو اجرا میگیرم هیچ اطلاعاتی نمیاد؟
96807

http://barnamenevis.org/images/misc/pencil.png

vahidth
دوشنبه 27 آذر 1391, 13:07 عصر
یکی از دوستان منو کمک کنه

yousef_1352
جمعه 04 تیر 1395, 17:16 عصر
سلام . من هم مشکل مشابه دارم .....آیا شما راه حل را پیدا کردید؟

ژیار رحیمی
جمعه 04 تیر 1395, 22:25 عصر
دوست گرامی وقتی شما دیتابیس رو توی پنجره Solution Explorar به پروژه Add میکنی یک کپی از آن در مسیر روت پروژه اضافه میشه و چون با هر بار اجرا یک کپی از دیتابیس داخل روت پروژه به پوشه Debug کپی میشه پس با هر بار اجرا دیتابیس شما جایگزین میشه و داده ایی که در اجرای قبلی وارد دیتابیس کردی حذف میشوذ(با جایگزین شدن دیتابیس خالی)
روی نام دیتابیس در پنجره Sulotion Explorar راست کلیک و گزینه propretise و در پنجره propertise گزینه copy to the output directory= Copy if newer تا با هر بار اجرا دیتابیس جایگزین نشود

systam
شنبه 05 تیر 1395, 01:31 صبح
سلام
بیا در قسمت لود فرم ، نمایش اطلاعات دیتا بیس در گریدویو بیا اینطوری بنویس
dataGridView1.DataSource = ds;
dataGridView1.Datamember = "table";


توی پوشه برنامه کنار فرم ها دیتا بیس رو به
Debug منتقل کن