مشکل در ارتباط با پایگاه داده

tina.programer

عضو جدید
سلام

من یه کد استرینگ ارتباط با sqlserver در سی شارپ می خوام یک نمونه کاری که می خوام انجام بدم اینه

توی فرم یه چند تا textbox دارم یه سری فیلد هم توی دیتابیس دارم می خوام با زدن دکمه save اطلاعات textbox هام در فیلدهای مربوطه توی دیتابیسم قرار داده بشه یه چیز عادی یا فرم ثبت اطلاعات که بارها استفاده شده تو برنامه ها من اینطوری نوشتم اما ایراد گرفت .:w06::wallbash:

کد:
        SqlConnection con = new SqlConnection();
             con.ConnectionString = @"Data  Source=.\SQLEXPRESS;Attachdbfilename=|DataDirectory|\sdb.mdf; integrated  security=true;user instance=true";
            con.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "INSERT into tbl_ozv(No,Name) values ('" + textBox1.Text + "','" + textBox2.Text+ "' )";
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = cmd;
            DataTable dt = new DataTable();
            da.Fill(dt);
            MessageBox.Show("Save");
            con.Close();

این خط رو ارور میگیره :

کد:
   da.Fill(dt);

کلاً یه کد استاندارد می خوام که درست کار کنه :(:(:(
 

golemaryam_1983

عضو جدید
کاربر ممتاز
سلام

من یه کد استرینگ ارتباط با sqlserver در سی شارپ می خوام یک نمونه کاری که می خوام انجام بدم اینه

توی فرم یه چند تا textbox دارم یه سری فیلد هم توی دیتابیس دارم می خوام با زدن دکمه save اطلاعات textbox هام در فیلدهای مربوطه توی دیتابیسم قرار داده بشه یه چیز عادی یا فرم ثبت اطلاعات که بارها استفاده شده تو برنامه ها من اینطوری نوشتم اما ایراد گرفت .:w06::wallbash:

کد:
        SqlConnection con = new SqlConnection();
             con.ConnectionString = @"Data  Source=.\SQLEXPRESS;Attachdbfilename=|DataDirectory|\sdb.mdf; integrated  security=true;user instance=true";
            con.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "INSERT into tbl_ozv(No,Name) values ('" + textBox1.Text + "','" + textBox2.Text+ "' )";
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = cmd;
            DataTable dt = new DataTable();
            da.Fill(dt);
            MessageBox.Show("Save");
            con.Close();
این خط رو ارور میگیره :

کد:
   da.Fill(dt);
کلاً یه کد استاندارد می خوام که درست کار کنه :(:(:(

سلام دوست عزیز این یک نمونه هست


کد:
SqlCommand com = new SqlCommand("insert into kala (kalaname,code,tedad,saloon#,esm,famil,moshtari#,date)"
                        + " values ('" + nametxt.Text + "' , '" + Convert.ToInt32(kalatxt.Text) + "' , '" + Convert.ToInt32(tedadtxt.Text) + "' ,"
                        + "'" + Convert.ToInt32(comboBox1.Text) + "' , '" + esmtxt.Text + "' , '" + familtxt.Text + "' ,"
                        + "'" + Convert.ToInt32(moshtaritxt.Text) + "' , '" + datetxt.Text + "') ", conn);
                        com.Connection.Open();
                        com.ExecuteNonQuery();
                        com.Connection.Close();
 
آخرین ویرایش:

tina.programer

عضو جدید
تصحیح کردم مجدد ایراد گرفت لطفاً اگه ممنون براتون از اول یعنی از یوز تا آخر کدشو برام قرار بدید و همچنین مسیج هم قرار بدیم که در کجا قرار بدم که بعد از ثبت اطلاعات پیغام نمایش بده
 

golemaryam_1983

عضو جدید
کاربر ممتاز
تصحیح کردم مجدد ایراد گرفت لطفاً اگه ممنون براتون از اول یعنی از یوز تا آخر کدشو برام قرار بدید و همچنین مسیج هم قرار بدیم که در کجا قرار بدم که بعد از ثبت اطلاعات پیغام نمایش بده
میشه کد تصحیح شده رو بزارید.اگه بتونم کمک می کنم .

کد:
 SqlConnection conn = new SqlConnection("server=localhost;database=anbar;integrated security=true");

کد:
SqlDataAdapter sda = new SqlDataAdapter("select kalaname'نام كالا',code'کد كالا',tedad'تعداد كالا',saloon#'شماره سالن'"
            + " ,esm'نام مشتري',famil'نام خانوادگی',moshtari#'کد مشتري',date'تاريخ ورود' from kala", conn);
            DataSet ds = new DataSet();
            sda.Fill(ds, "kala");
            DataView dv = new DataView();
            dv.Table = ds.Tables["kala"];
            dataGridView1.DataSource = dv;
 
آخرین ویرایش:

tina.programer

عضو جدید
ریستارت کردم sql رو درست شد .

ممنون فقط این کد رو کی بزاریم یعنی به چه دردی می خوره ؟


Convert.ToInt32
 

tina.programer

عضو جدید
باز ایراد گرفت :wallbash::wallbash::wallbash::wallbash::wallbash: کدی که نوشتم اینه من کجاشو اشتباه می کنم آخه

کد:
  SqlConnection con = new SqlConnection();
            con.ConnectionString = @"Data Source=.\SQLEXPRESS;Attachdbfilename=|DataDirectory|\aharesdb.mdf; integrated security=true;user instance=true";
            con.Open();
            if (textBox1.Text != "")
            {
                SqlCommand cmd = new SqlCommand("insert into member (no,name,f3,f4,f5,f6,f7,f8,date,f9,cap,capa,addC,add,alc)"
                            + " values ('" + textBox1.Text + "' , '" + textBox2.Text + "' , '" + textBox3.Text + "' ,"
                        + "'" + comboBox1.Text + "' , '" + comboBox2.Text + "' , '" +  textBox6.Text + "' ,"
                        + "'" + comboBox3.Text + "' , '" + comboBox4.Text + "' , '" + maskedTextBox1.Text + "' , '" + textBox10.Text + "' , '"
                        + textBox11.Text + "' , '" + textBox12.Text + "' , '" + textBox13.Text + "' , '" 
                        + textBox14.Text + "' , '" + textBox15.Text + "' , '" + textBox4.Text + "') ", con);
                
                cmd.ExecuteNonQuery();
                cmd.Connection.Close();
                MessageBox.Show("با موفقیت ثبت گردید");
            }
            else { MessageBox.Show("لطفا فيلد های ستاره دار را به دقت وارد نماييد"); }
 

golemaryam_1983

عضو جدید
کاربر ممتاز
باز ایراد گرفت :wallbash::wallbash::wallbash::wallbash::wallbash: کدی که نوشتم اینه من کجاشو اشتباه می کنم آخه

کد:
  SqlConnection con = new SqlConnection();
            con.ConnectionString = @"Data Source=.\SQLEXPRESS;Attachdbfilename=|DataDirectory|\aharesdb.mdf; integrated security=true;user instance=true";
            con.Open();
            if (textBox1.Text != "")
            {
                SqlCommand cmd = new SqlCommand("insert into member (no,name,f3,f4,f5,f6,f7,f8,date,f9,cap,capa,addC,add,alc)"
                            + " values ('" + textBox1.Text + "' , '" + textBox2.Text + "' , '" + textBox3.Text + "' ,"
                        + "'" + comboBox1.Text + "' , '" + comboBox2.Text + "' , '" +  textBox6.Text + "' ,"
                        + "'" + comboBox3.Text + "' , '" + comboBox4.Text + "' , '" + maskedTextBox1.Text + "' , '" + textBox10.Text + "' , '"
                        + textBox11.Text + "' , '" + textBox12.Text + "' , '" + textBox13.Text + "' , '" 
                        + textBox14.Text + "' , '" + textBox15.Text + "' , '" + textBox4.Text + "') ", con);
                
                cmd.ExecuteNonQuery();
                cmd.Connection.Close();
                MessageBox.Show("با موفقیت ثبت گردید");
            }
            else { MessageBox.Show("لطفا فيلد های ستاره دار را به دقت وارد نماييد"); }

سلام دوست عزیز اینطور که من دیدم شما کانکشن cmd رو اپن نکردید.

در مورد این دستور Convert.ToInt32 هم باید بگم ورودی تکست باکس رو تبدیل به مقدار عددی میکنه.
 

tina.programer

عضو جدید
خوب
com.Connection.Open();

رو میزارم دقیقاً همین خط رو اشتباه میگیره من این خظ رو پاک می کنم و دوتا فیلد با دوتا تکست باکس قبول میکنه و ثبت میکنه دوی پایگاه داده اما بیشتر از دو فیلد رو دیگه خطایی که در بالا گفتمو میه
 

tina.programer

عضو جدید
خواهش می کنم یکی از اول ، از همون قسمت use کدهای ارتباط رو برام قرار بده که بتونم یه سری مقادیر رو در دیتابیس ثبت کنم بدون هیچ خطایی
 

golemaryam_1983

عضو جدید
کاربر ممتاز
خوب
com.Connection.Open();

رو میزارم دقیقاً همین خط رو اشتباه میگیره من این خظ رو پاک می کنم و دوتا فیلد با دوتا تکست باکس قبول میکنه و ثبت میکنه دوی پایگاه داده اما بیشتر از دو فیلد رو دیگه خطایی که در بالا گفتمو میه

com نه شما تو برنامتون cmd دارید.
con.Open(); خط واسه چیه ؟
من که تمام کد اینسرت کردن رو گذاشتم.:redface:
 

golemaryam_1983

عضو جدید
کاربر ممتاز
خواهش می کنم یکی از اول ، از همون قسمت use کدهای ارتباط رو برام قرار بده که بتونم یه سری مقادیر رو در دیتابیس ثبت کنم بدون هیچ خطایی

کد:
 SqlConnection conn = new SqlConnection("server=localhost;database=anbar;integrated security=true");
کد:
SqlCommand com = new SqlCommand("insert into kala (kalaname,code,tedad,saloon#,esm,famil,moshtari#,date)"
                        + " values ('" + nametxt.Text + "' , '" + Convert.ToInt32(kalatxt.Text) + "' , '" + Convert.ToInt32(tedadtxt.Text) + "' ,"
                        + "'" + Convert.ToInt32(comboBox1.Text) + "' , '" + esmtxt.Text + "' , '" + familtxt.Text + "' ,"
                        + "'" + Convert.ToInt32(moshtaritxt.Text) + "' , '" + datetxt.Text + "') ", conn);
                        com.Connection.Open();
                        com.ExecuteNonQuery();
                        com.Connection.Close();
کد:
                        SqlDataAdapter sda = new SqlDataAdapter("select kalaname'نام كالا',code'کد كالا',tedad'تعداد كالا',saloon#'شماره سالن'"
                        + " ,esm'نام مشتري',famil'نام خانوادگی',moshtari#'کد مشتري',date'تاريخ ورود' from kala", conn);
                        DataSet ds = new DataSet();
                        sda.Fill(ds, "kala");
                        DataView dv = new DataView();
                        dv.Table = ds.Tables["kala"];
                        dataGridView1.DataSource = dv;

اولی ارتباط هست دومی اضافه کردن و سومی هم نمایش.
 

kerberos2023

عضو جدید
فعلاً که تنها نتیجه درستی که گرفتم از این کدها بوده از چه لحاظ امنیت نداره ؟ لطف میکنید شما یک نمونه درست و اصولیشو قرار بدید ؟
SqlConnection con1 = new SqlConnection(VarHolder.connectionString);
SqlCommand com1 = new SqlCommand();
try
{
com1.Connection = con1;
com1.CommandText = "Goods_Insert";//In esme ye store procedure tuye database hastesh
com1.CommandType = CommandType.StoredProcedure;
com1.Parameters.AddWithValue("@Code", txtGoodCode.Text.Trim());
com1.Parameters.AddWithValue("@GName", txtGoodName.Text.Trim());
com1.Parameters.AddWithValue("@Unit", cboUnit.SelectedIndex + 1);
com1.Parameters.AddWithValue("@Price", txtPrice.Text);
com1.Parameters.AddWithValue("@Wage", txtWage.Text);
com1.Parameters.AddWithValue("@Description", txtDescription.Text);
con1.Open();
com1.ExecuteNonQuery();
MessageBox.Show("کالای مورد نظر ثبت شد", this.Text);
ClearTextBoxes();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
}​
 

tina.programer

عضو جدید
کاش کدهاون رو توی یه تگ کد بزارید و اینکه یه توضیح بفرمایید که چی به چیه این :دی

یعنی اینکه این کد اصلاً نام دیتابیس رو نداره و همچنین نام جدول و ...
 

Topcoding

عضو جدید
کاش کدهاون رو توی یه تگ کد بزارید و اینکه یه توضیح بفرمایید که چی به چیه این :دی

یعنی اینکه این کد اصلاً نام دیتابیس رو نداره و همچنین نام جدول و ...
با اجازه دوست عزیز kerberos2023@
ببینید این طور که من فهمیدم ایشان از یک کلاس به اسم varholder استفاده کردند که داخل این کلاس متدی متغیر connection string را مقدار دادند و اسم دیتابیس توی همون کلاس می باشد
بعد دستورات sql را هم در خود sql server نوشته به صورت store procedure نوشته و فقط در اینجا اون رو فرا خونده(البته دوست عزیز kerberos2023@ اگه اشتباه متوجه شدم مرا ببخشید و درستش را بگویید تا روشن شیم)
اوصول برنامه نویسیش هم همین طوریه،یعنی به جای اینکه بیاییم داخل همه فرمهای خود connection string بنویسم و اتصال به دیتابیس داشته باشیم وما می آیم یه کلاس تعریف می کنیم و داخل اون اتصال به دیتابیس داریم و حالا داخل هر فرمی که خواستیم connection داشته باشیم فقط کافیه اون متغیر از اون کلاس رو تعریف کنیم .البته گاهی وقتا هم می شه داخل اون کلاس select , insert, delete , update هم نوشت که البته بستگی به خودتان داره...
شما بهتره یه مرجع کامل سی شارپ تهیه کنید تا بیشتر سوالاتان رو رفع کنید (pdf فارسی : هاشمیان):D
موفق باشید
 

RIG

متخصص C#.net
کانکشن رو خودت تنظیم کن . من اینجا از access استفاده میکنم . اگه tinaprogramer یادت باشه بته چی گفتم واسه تبدیل access به sql میتونی از این روش تو sqlclient هم استفاده کنی.
کد:
        private void btnAddSave_Click(object sender, EventArgs e)
        {
            String query = "Select * From mytable";
            da = new OleDbDataAdapter(query, con);
            OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
            OleDbCommand cmd = cb.GetInsertCommand();
            con.Open();
            cmd.Parameters[0].Value = txtProNet1Code.Text;
            cmd.Parameters[1].Value = txtname.Text;
            cmd.Parameters[2].Value = txtfamily.Text;
            cmd.ExecuteNonQuery();
            con.Close();
            
        }
 

tina.programer

عضو جدید
خیلی هم می دونم اینجکشن چیه اما خوب من پروژه ام تحت ویندوز هست و کسی هم نمیاد شیطونی کنه حالا شما بگید من دقیقاً چه کدی بنویسم که امن باشه
آقای rig شما یک نمونه خوب برام می نویسید من از استفاده کنم ؟
 

RIG

متخصص C#.net
ببین فرق بین کد های golemaryam و kerberos مشخص هستش . نحوه insert کمی فرق داره . mojtaba dinarvand گفته از نوع که golemaryam نوشته استفاده نکن در صورتی که این نوع هم درسته اما روش درست اینکار استفاده از نوشته kerberos هستش . کدی که منم نوشتم insert رو command builder انجام . میده . دوست ما اقای topcoding هم منظوری نداشته چون تو کتاب هاشمیان یه توضیحاتی در این مورد داده واسه همون اشره کرد که تو اون کتاب هست که اگه یادت رفته بهتر بتونی از اونجا به هدفت برسی . در ضمن هر چقدر کد دستور insert/save رو نوشتی رو دویاره بذار تا بچه ها دوباره کمک کنن.
 

tina.programer

عضو جدید
کد:
 SqlConnection conn = new SqlConnection("server=localhost;database=anbar;integrated security=true");
کد:
SqlCommand com = new SqlCommand("insert into kala (kalaname,code,tedad,saloon#,esm,famil,moshtari#,date)"
                        + " values ('" + nametxt.Text + "' , '" + Convert.ToInt32(kalatxt.Text) + "' , '" + Convert.ToInt32(tedadtxt.Text) + "' ,"
                        + "'" + Convert.ToInt32(comboBox1.Text) + "' , '" + esmtxt.Text + "' , '" + familtxt.Text + "' ,"
                        + "'" + Convert.ToInt32(moshtaritxt.Text) + "' , '" + datetxt.Text + "') ", conn);
                        com.Connection.Open();
                        com.ExecuteNonQuery();
                        com.Connection.Close();
کد:
                        SqlDataAdapter sda = new SqlDataAdapter("select kalaname'نام كالا',code'کد كالا',tedad'تعداد كالا',saloon#'شماره سالن'"
                        + " ,esm'نام مشتري',famil'نام خانوادگی',moshtari#'کد مشتري',date'تاريخ ورود' from kala", conn);
                        DataSet ds = new DataSet();
                        sda.Fill(ds, "kala");
                        DataView dv = new DataView();
                        dv.Table = ds.Tables["kala"];
                        dataGridView1.DataSource = dv;

اولی ارتباط هست دومی اضافه کردن و سومی هم نمایش.

میشه کدهای ویرایش و حذف هم بزارید ؟ ممنون
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
البته گل مریم جان، اگر از پارامترها استفاده کنید، خواناتر میشه و خطا یابیش هم بهتر انجام میشه :gol:
 

tina.programer

عضو جدید
نگین جون میشه شما که تجربه بیشتری دارید و استاد هستید کلاً یه نمونه کد اضافه کردن ، ویرایش و حذف و نشان دادن بزارید ؟
 

tina.programer

عضو جدید
ماشلا عجب انجمن فعالی یکی نیست اینجا جواب بده ؟ بریم یه انجمن دیگه
 
  • Like
واکنش ها: RIG

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
نگین جون میشه شما که تجربه بیشتری دارید و استاد هستید کلاً یه نمونه کد اضافه کردن ، ویرایش و حذف و نشان دادن بزارید ؟

کد:
[LEFT]using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace SOC
{
    public class ClsDL_User
    {
        public SqlDataAdapter User_da;
        public DataSet User_ds;
        private SqlCommand User_cmd_ins;
        private SqlCommand User_cmd_sel;
        private SqlCommand User_cmd_del;
        private SqlCommand User_cmd_upd;

        public ClsDL_User()
        {
            #region SQL COMMAND & SQL DATA ADAPTER

            User_da = new SqlDataAdapter();
            User_cmd_sel = new SqlCommand();
            User_cmd_ins = new SqlCommand();
            User_cmd_del = new SqlCommand();
            User_cmd_upd = new SqlCommand();

            #endregion

            #region DATASET

            User_ds = new DataSet();
            User_ds.Tables.Add("User");

            #endregion

            #region SELECT PART

            User_cmd_sel.Connection = SQLCon.Con;
            User_cmd_sel.CommandText = "Usr_User_Select";
            User_cmd_sel.CommandType = System.Data.CommandType.StoredProcedure;
            User_cmd_sel.Parameters.Add("@FullList", SqlDbType.Bit, 1);
            User_da.SelectCommand = User_cmd_sel;

            #endregion

            #region INSERT PART

            User_cmd_ins.Connection = SQLCon.Con;
            User_cmd_ins.CommandText = "Usr_User_Insert";
            User_cmd_ins.CommandType = CommandType.StoredProcedure;

            User_cmd_ins.Parameters.Add("@User_Username", SqlDbType.NVarChar, 50, "User_Username");
            User_cmd_ins.Parameters.Add("@User_Password", SqlDbType.NVarChar, 50, "User_Password");
            User_cmd_ins.Parameters.Add("@User_Description", SqlDbType.NVarChar, 300, "User_Description");
            User_cmd_ins.Parameters.Add("@IDF_LookAndFeel", SqlDbType.TinyInt, 1, "IDF_LookAndFeel");
            User_cmd_ins.Parameters.Add("@IDF_Persons", SqlDbType.Decimal, 18, "IDF_Persons");
            User_cmd_ins.Parameters.Add("@User_IsActive", SqlDbType.Bit, 1, "User_IsActive");
            User_cmd_ins.Parameters.Add("@User_IsAdmin", SqlDbType.Bit, 1, "User_IsAdmin");
            User_cmd_ins.Parameters.Add("@IDF_User", SqlDbType.Decimal, 18, "IDF_User");
            User_cmd_ins.Parameters.Add("@SystemIP", SqlDbType.NVarChar, 15, "SystemIP");
            User_cmd_ins.Parameters.Add("@Log_Year", SqlDbType.Int, 4, "Log_Year");
            User_cmd_ins.Parameters.Add("@Log_Mon", SqlDbType.TinyInt, 1, "Log_Mon");
            User_cmd_ins.Parameters.Add("@Log_Day", SqlDbType.TinyInt, 1, "Log_Day");
            User_cmd_ins.Parameters.Add("@Log_Time", SqlDbType.NVarChar, 8, "Log_Time");

            User_da.InsertCommand = User_cmd_ins;
            System.Data.SqlClient.SqlParameter myParm = User_da.InsertCommand.Parameters.Add("@ID_User", SqlDbType.Decimal, 18, "ID_User");
            myParm.Direction = ParameterDirection.Output;

            #endregion

            #region DELETE PART

            User_cmd_del.Connection = SQLCon.Con;
            User_cmd_del.CommandText = "Usr_User_Delete";
            User_cmd_del.CommandType = System.Data.CommandType.StoredProcedure;
            User_cmd_del.Parameters.Add("@ID_User", System.Data.SqlDbType.Decimal, 18, "ID_User");
            User_cmd_del.Parameters.Add("@IDF_User", SqlDbType.Decimal, 18, "IDF_User");
            User_cmd_del.Parameters.Add("@SystemIP", SqlDbType.NVarChar, 15, "SystemIP");
            User_cmd_del.Parameters.Add("@Log_Year", SqlDbType.Int, 4, "Log_Year");
            User_cmd_del.Parameters.Add("@Log_Mon", SqlDbType.TinyInt, 1, "Log_Mon");
            User_cmd_del.Parameters.Add("@Log_Day", SqlDbType.TinyInt, 1, "Log_Day");
            User_cmd_del.Parameters.Add("@Log_Time", SqlDbType.NVarChar, 8, "Log_Time");
            User_da.DeleteCommand = User_cmd_del;

            #endregion

            #region UPDATE PART

            User_cmd_upd.Connection = SQLCon.Con;
            User_cmd_upd.CommandText = "Usr_User_Update";
            User_cmd_upd.CommandType = CommandType.StoredProcedure;

            User_cmd_upd.Parameters.Add("@ID_User", SqlDbType.Decimal, 18, "ID_User");
            User_cmd_upd.Parameters.Add("@User_Username", SqlDbType.NVarChar, 50, "User_Username");
            User_cmd_upd.Parameters.Add("@User_Password", SqlDbType.NVarChar, 50, "User_Password");
            User_cmd_upd.Parameters.Add("@User_Description", SqlDbType.NVarChar, 300, "User_Description");
            User_cmd_upd.Parameters.Add("@IDF_LookAndFeel", SqlDbType.TinyInt, 1, "IDF_LookAndFeel");
            User_cmd_upd.Parameters.Add("@User_IsActive", SqlDbType.Bit, 1, "User_IsActive");
            User_cmd_upd.Parameters.Add("@User_IsAdmin", SqlDbType.Bit, 1, "User_IsAdmin");
            //User_cmd_upd.Parameters.Add("IDF_Persons", SqlDbType.Decimal, 18, "IDF_Persons");
            User_cmd_upd.Parameters.Add("@IDF_User", SqlDbType.Decimal, 18, "IDF_User");
            User_cmd_upd.Parameters.Add("@SystemIP", SqlDbType.NVarChar, 15, "SystemIP");
            User_cmd_upd.Parameters.Add("@Log_Year", SqlDbType.Int, 4, "Log_Year");
            User_cmd_upd.Parameters.Add("@Log_Mon", SqlDbType.TinyInt, 1, "Log_Mon");
            User_cmd_upd.Parameters.Add("@Log_Day", SqlDbType.TinyInt, 1, "Log_Day");
            User_cmd_upd.Parameters.Add("@Log_Time", SqlDbType.NVarChar, 8, "Log_Time");

            User_da.UpdateCommand = User_cmd_upd;

            #endregion


        }

        public void User_Select(bool FullList)
        {
            lock (SQLCon.Con)
            {
                this.User_ds.Tables["User"].Clear();
                this.User_cmd_sel.Parameters["@FullList"].Value = FullList;
                this.User_da.Fill(this.User_ds, "User");
            }
        }


    }
}
[/LEFT]

ويرایش ها بر روی داده ها در جدول انجام میشه و با استفاده از متد Update ، تغييرات اعمال می شوند.
 

Similar threads

بالا