PDA

View Full Version : سوال: مشکل در insert



reza4359
یک شنبه 07 شهریور 1389, 11:14 صبح
سلام دوستان من میخوام چند تا فیلد رو وارد دیتابیس کنم حالا وقتی ثبت میشه با جستجو در grid نشونشون میده ولی وقتی از برنامه خارج میشم و دوباره جستجو میکنم نشونش نمیده و اطلاعات هم داخل جدول ذخیره نمیشه لطفا راهنماییم کنید خیلی بهش نیاز دارم

mmd2009
یک شنبه 07 شهریور 1389, 11:23 صبح
با سلام.

اگر میشه برنامتونو قرار بدید یا کدی که نوشتید رو بذارید. تا بدونیم چی کار کردید که نشده.

com_eng_abasszadeh
یک شنبه 07 شهریور 1389, 12:14 عصر
سلام دوستان من میخوام چند تا فیلد رو وارد دیتابیس کنم حالا وقتی ثبت میشه با جستجو در grid نشونشون میده ولی وقتی از برنامه خارج میشم و دوباره جستجو میکنم نشونش نمیده و اطلاعات هم داخل جدول ذخیره نمیشه لطفا راهنماییم کنید خیلی بهش نیاز دارم
از منوی Project اخرین گزینه که نا م پروژه هست رو انتخاب میکنی.
توی پنجره باز شده سربرگ Buildرو انتخاب میکنی.توی اون صفحه گزینه OutPot Path رو خالی کن وبعد برنامه رو ذخیره کن.

reza4359
یک شنبه 07 شهریور 1389, 15:28 عصر
با سلام.

اگر میشه برنامتونو قرار بدید یا کدی که نوشتید رو بذارید. تا بدونیم چی کار کردید که نشده.

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.IO;
using System.Data.SqlClient;
using System.Globalization;




private void button1_Click(object sender, EventArgs e)
{

if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "")
{


MessageBox.Show("فیلدهای خالی را پر کنید ", " اخطار",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}




else if (MessageBox.Show("آیا مایل به ذخیره اطلاعات هستید؟", "ثبت اطلاعات", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{


SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + "\\database1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
int x = int.Parse(textBox1.Text);
string a = textBox2.Text;
string b = textBox3.Text;
string c = comboBox1.SelectedItem.ToString();
string d = comboBox3.SelectedItem.ToString();
string y = comboBox2.SelectedItem.ToString();
string f = textBox4.Text;
int g = int.Parse(textBox5.Text);

string h = maskedTextBox1.Text;
string i = maskedTextBox2.Text;
string j = maskedTextBox3.Text;

bool l = radioButton1.Checked;
bool m = radioButton2.Checked;
bool n = radioButton3.Checked;
bool o = radioButton4.Checked;
int p = int.Parse(textBox9.Text);
string q = maskedTextBox4.Text;
string cmd2 = string.Format(" INSERT INTO book1 (id,name,family,[user],sex,yegan,ill,priod,date1,date2,date3,free1,free2 ,darman1,darman2,num,dateday) values ({0},'{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8 }','{9}','{10}','{11}','{12}','{13}','{14}','{15}' ,'{16}')", x, a, b, c, d, y, f, g, h, i, j, l, m, n, o, p, q);
cmd.CommandText = cmd2;
cmd.Connection = con;
con.Open();

cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(textBox2.Text + " " + textBox3.Text + " " + " با شماره شناسایی " + " " + textBox1.Text + " " + "با موفقيت اضافه شد ");
}
}

#aliyari_C
یک شنبه 07 شهریور 1389, 16:00 عصر
ُسلام
این یکی از مشکلاتی است که واقعا مشکل, نیست.برنامه شما هم نه مشکل داره و نه خطایی


Application.StartupPath + "\\database1.mdf

فکر می کنی داره به کدوم مسیر اشاره می کنه(bin\Debug)یا (bin\Release) .حال به همون مسیر برو , چیزی که اونجا می بینی ,یک فایل database1.mdf هست , که شما هر اطلاعاتی رو که داری Insert می کنی در آنجا ریخته می شه, ولی وقتی برنامه ات را با VS اجرا می کنی بانک دیگری را که در مسیر پروژه است را load می کند.
راه اول:


توی پنجره باز شده سربرگ Buildرو انتخاب میکنی.توی اون صفحه گزینه OutPot Path

راه دوم:
(bin\Debug)یا (bin\Release) فایلهاشو پاک کن , بعد دوباره پروژه ات دوباره run کن
موفق باشی

aghayex
یک شنبه 07 شهریور 1389, 16:16 عصر
اطلاعاتت ذخیره میشه اما در یه دیتابیس دیگه ای ( کپی همون دیتابیست ) در مسیر bin/debug و وقتی برنامه رو ست آپ کنی درست می شه

mmd2009
یک شنبه 07 شهریور 1389, 19:50 عصر
دوست عزیز برای درج اطلاعات بهتره از یک روش بهینه استفاده بکنید.

s.khoshfekran
یک شنبه 07 شهریور 1389, 21:06 عصر
اطلاعات رو مستقیم وارد دیتابیس میکنی یا میریزی تو DataTable ?
اگه تو DataTable بریزی باید DataAdapter.Update() استفاده کنی!!