PDA

View Full Version : سوال: ثبت اطلاعات ایجاد شده در دیتاست درپایگاه داده



kami123
پنج شنبه 04 شهریور 1389, 05:13 صبح
من در دیتا ست یک جدول جدید ایجاد کرده ام و اطلاعاتی وارد این جدول کرده ام حالا چطوری وبا کدام دستورات sql میتوان این اطلاعات را در پایگاه داده ذخیره کرد

mohammad_2039
پنج شنبه 04 شهریور 1389, 06:46 صبح
سلام
راستش روش اصولیش رو بلد نیستم اما خودم اینکار رو انجام میدم. اما با dataReader اطلاعات رو از دیتا ست میخونم ( یا تو فرم یا متغییر ها در کد ) بعد با دستور insert و SqlCommand وارد دیتا بیس میکنم. میشه با حلقه ها به سرعت اینکار رو انجام داد. ببخشید اگه روشش ضایع بود:لبخند:

javad_r_85
پنج شنبه 04 شهریور 1389, 07:29 صبح
سلام اینم کد



SqlCommandBuilder cm;

if (ds.HasChanges())
{
cm = new SqlCommandBuilder(da);
da.Update(ds.costomers );
MessageBox.Show("chenged");

}

ایمان مدائنی
پنج شنبه 04 شهریور 1389, 07:36 صبح
من هم از اين روش استفاده ميكنم !

kami123
پنج شنبه 04 شهریور 1389, 11:55 صبح
من با استفاده از دیتا تیبل یه جدول تعریف کردم که اطلاعاتش رو از طریق کاربر میگیره و در دیتا گرید نمایش میده حالا میخوام کاربر با زدن دکمه ثبت محتویات این دیتا تیبل رو عینا درون یه تیبل همنام توی دیتا بیسم ذخیره کنه (مثل یه سبد خرید ) اما متوجه نشدم این کارو چطوری باید انجام داد کد رو هم میذارم تا بهتر متوجه منظورم بشین اگه ممکنه کد لازم برای این کار رو برام بزارید ممنون میشم .


public partial class Form1 : Form
{

DataColumn objectculomn;
DataRow objectrow;
DataTable objecttable;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
objecttable = new DataTable("user");
objectculomn = new DataColumn("name");
objecttable.Columns.Add(objectculomn);
objectculomn = new DataColumn("family");
objecttable.Columns.Add(objectculomn);
objectculomn = new DataColumn("pass");
objecttable.Columns.Add(objectculomn);
}
private void btn_insert_Click(object sender, EventArgs e)
{
objectrow = objecttable.NewRow();
objectrow["name"] = textBox1.Text;
objectrow["family"] = textBox2.Text;
objectrow["pass"] = textBox3.Text;
objecttable.Rows.Add(objectrow);
dataGrid1.DataSource = objecttable;

}

aminghaderi
پنج شنبه 04 شهریور 1389, 14:16 عصر
من در دیتا ست یک جدول جدید ایجاد کرده ام و اطلاعاتی وارد این جدول کرده ام حالا چطوری وبا کدام دستورات sql میتوان این اطلاعات را در پایگاه داده ذخیره کرد
من شخصا تمام کارای اطلاعاتی رو با Dataset انجام می دم و خیلی کار باهش راحت هست اگر روش استفاده رو درست رعایتش کنیم.
این رو یه نگاه بنداز شاید بتونی راهنمای خوبی باشه :
http://barnamenevis.org/forum/showthread.php?t=238277
فقط با دقت نگاه کن تا اخرش نگی Dataset کجا تعریف شده و چکار می کنه؟!

موفق باشی.

kami123
پنج شنبه 04 شهریور 1389, 16:25 عصر
من شخصا تمام کارای اطلاعاتی رو با Dataset انجام می دم و خیلی کار باهش راحت هست اگر روش استفاده رو درست رعایتش کنیم.
این رو یه نگاه بنداز شاید بتونی راهنمای خوبی باشه :
http://barnamenevis.org/forum/showthread.php?t=238277
فقط با دقت نگاه کن تا اخرش نگی Dataset کجا تعریف شده و چکار می کنه؟!

موفق باشی.


جناب aminghaderi راستش فکر نیمیکنم لینکی که تو جوابتون گذاشتین ربطی به سوال من داشته باشه لطفا مطلب شماره #5 رو دوباره از نو و با حوصله بخونید تا منظور منو درک کنید !! من میخوام اطلاعات درون دیتا تیبل رو توی دیتا بیس ذخیره کنم نه اینکه یه فیلد از دیتا بیس رو توی یه کنترل بریزم اما لینکی که شما گذاشتن کد های مربوط به مقید کردن یه کنترل به یه فیلد از دیتا بیس هست و به سوال من ربطی نداره !!! ممنون میشم اگه جواب سوال منو میدونین منو راهنمایی کنین .:ناراحت: اگرم فکر میکنید منظورمو خوب بیان نکردم بگید تا بیشتر توضیح بدم !

aminghaderi
پنج شنبه 04 شهریور 1389, 16:46 عصر
جناب aminghaderi راستش فکر نیمیکنم لینکی که تو جوابتون گذاشتین ربطی به سوال من داشته باشه لطفا مطلب شماره #5 رو دوباره از نو و با حوصله بخونید تا منظور منو درک کنید !! من میخوام اطلاعات درون دیتا تیبل رو توی دیتا بیس ذخیره کنم نه اینکه یه فیلد از دیتا بیس رو توی یه کنترل بریزم اما لینکی که شما گذاشتن کد های مربوط به مقید کردن یه کنترل به یه فیلد از دیتا بیس هست و به سوال من ربطی نداره !!! ممنون میشم اگه جواب سوال منو میدونین منو راهنمایی کنین .:ناراحت: اگرم فکر میکنید منظورمو خوب بیان نکردم بگید تا بیشتر توضیح بدم !

اره عذر خواهی می کنم ، ظاهرا اشتباه شد؟!:گیج:
این کد رو ببین...


توی قسمت متغیر های سراسری تعریف کن
public DataTable Table1 = new DataTable();

درقسمت استفاده ار تیبل اضافه کن
Table1.Columns.Add("ID", typeof(System.String));
Table1.Columns.Add("Value", typeof(System.String));





در رویداد یا تابع یا کلاس مورد نظر قرار بدید

Cmd.Parameters.Clear();
Cmd.Parameters.AddWithValue("@Fild1", Table1.Rows[1]["Value"].ToString());
Cmd.Parameters.AddWithValue("@Fild2", Table1.Rows[2]["Value"].ToString());
CommandText = "insert into My-Table (Fild1,Fild2) values ( @Fild1 ,@Fild2);


Connect();




کد استفاده شده + مخلفات



using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
//------------//
//My Using.
//------------//
using System.Data.SqlClient;
using System.Web.Configuration;
using System.Collections.Generic;

public partial class Admin_Default2 : System.Web.UI.Page
{
//----------------//
//My variables.
//----------------//
SqlConnection cnn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
string Commandtext = "";

تعریف تیبل جدید.
public DataTable Table1 = new DataTable();



//--------------------------------------------------------------------------------//
//My Functions.
//--------------------------------------------------------------------------------//
protected void connect()
{
ds.Reset();
ds.Clear();
cnn.ConnectionString = WebConfigurationManager.ConnectionStrings["YaDB"].ConnectionString;
cmd.CommandText = Commandtext;
cmd.Connection = cnn;
sda.SelectCommand = cmd;
cnn.Open();
sda.Fill(ds, "Box");
cmd.ExecuteReader();
cnn.Close();
}
protected void connect_reg()
{
ds.Reset();
ds.Clear();
cnn.ConnectionString = WebConfigurationManager.ConnectionStrings["YaDB"].ConnectionString;
cmd.CommandText = Commandtext;
cmd.Connection = cnn;
sda.SelectCommand = cmd;
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
}



//-------------------------------------------------------------------------------------------------//
//Main Protected.
//-------------------------------------------------------------------------------------------------//
protected void Button1_Click(object sender, EventArgs e)
{
اگه تیبلتون رو نساختید از این کد می تونید استفاده کنید.
Table1.Columns.Add("ID", typeof(System.String));
Table1.Columns.Add("Value", typeof(System.String));

Cmd.Parameters.Clear();
Cmd.Parameters.AddWithValue("@Fild1", Table1.Rows[1]["Value"].ToString());
Cmd.Parameters.AddWithValue("@Fild2", Table1.Rows[2]["Value"].ToString());
CommandText = "insert into My-Table (Fild1,Fild2) values ( @Fild1 ,@Fild2);


Connect();

}
}

kami123
پنج شنبه 04 شهریور 1389, 19:21 عصر
توی قسمت متغیر های سراسری تعریف کن
public DataTable Table1 = new DataTable();
درقسمت استفاده ار تیبل اضافه کن
Table1.Columns.Add("ID", typeof(System.String));
Table1.Columns.Add("Value", typeof(System.String));
در رویداد یا تابع یا کلاس مورد نظر قرار بدید
Cmd.Parameters.Clear();
Cmd.Parameters.AddWithValue("@Fild1", Table1.Rows[1]["Value"].ToString());
Cmd.Parameters.AddWithValue("@Fild2", Table1.Rows[2]["Value"].ToString());
CommandText = "insert into My-Table (Fild1,Fild2) values ( @Fild1 ,@Fild2);
Connect();

ببخشید اما من متوجه نشدم این کد چطور میتونه مثلا N سطر از یک جدول که توی دیتا تیبل هست (و N متغییره)رو توی یه جدول همنام توی دیتا بیس ذخیره کنه ؟؟:متفکر: این طور که به نظر میرسه با استفاده از این کد فقط میشه 1 سطر رو ذخیره کرد!