PDA

View Full Version : استفاده از دستور updateدیتابیس اکسس از داخل c#(فوری)



apple57
چهارشنبه 12 تیر 1392, 23:15 عصر
سلام دوستان من یک مشکل برخوردم من برای updateفایل اکسس از کد زیر استفاده کردم ولی خطا می ده لطفا منو راراهنمایی کنین و اگه امکان داره کدم را اصلاح کنین خیلی ممنو ن می شم عجله دارم

string strcn = "Provider=Microsoft.Jet.OLEDB.4.0" + ";Data Source=" + Properties.Settings.Default.strpath;
OleDbConnection cn = new OleDbConnection(strcn);
cn.Open();
cmd.CommandText = "update table1 set [item1]='" + textBox1.Text + "' where [item2]='" + textBox2.Text + "'";
cmd.ExecuteNonQuery();

esafb52
چهارشنبه 12 تیر 1392, 23:29 عصر
ببین من اینجوری کار میکنم خودتون اصلاح کنین ضمنا در انجا فوری و.... ممنوع است شما هم متن خطا رو بذارین

cmd.CommandText = "Update tbbook set bookname=@1,author=@2,subject=@3,motarjem=@4,masir =@5 Where id=@id";
cmd.Parameters.AddWithValue("@1", textBoxX1.Text);
cmd.Parameters.AddWithValue("@2", textBoxX2.Text);
cmd.Parameters.AddWithValue("@3", textBoxX3.Text);
cmd.Parameters.AddWithValue("@4", textBoxX4.Text);
cmd.Parameters.AddWithValue("@5", textBoxX5.Text);
cmd.Parameters.AddWithValue("@id", Lname);
cmd.ExecuteNonQuery();
MessageBox.Show("با موفقیت اصلاح شد");

davidrobert
چهارشنبه 12 تیر 1392, 23:29 عصر
از cn.close(); استفاده نکردی

مهرداد صفا
پنج شنبه 13 تیر 1392, 09:16 صبح
با سلام.
لطفا متن خطا

مهرداد صفا
پنج شنبه 13 تیر 1392, 09:19 صبح
سلام دوستان من یک مشکل برخوردم من برای updateفایل اکسس از کد زیر استفاده کردم ولی خطا می ده لطفا منو راراهنمایی کنین و اگه امکان داره کدم را اصلاح کنین خیلی ممنو ن می شم عجله دارم

string strcn = "Provider=Microsoft.Jet.OLEDB.4.0" + ";Data Source=" + Properties.Settings.Default.strpath;
OleDbConnection cn = new OleDbConnection(strcn);
cn.Open();
cmd.CommandText = "update table1 set [item1]='" + textBox1.Text + "' where [item2]='" + textBox2.Text + "'";
cmd.ExecuteNonQuery();

مطمئنید cn را به عنوان cmd.Connection قرار دادی.؟

cmd.Connection=cn;

benighted.boy
پنج شنبه 13 تیر 1392, 11:27 صبح
کدی که دوست عزیزمون نوشتن خوبه اما به نظرم یکم نا امن چون بعد از این که کارشون باشیئ Command تموم میشه به حال خودش رها میشه تا اینکه GC خودش بفهمه که باید از بین ببرش
اگر از Connection به اصطلاح زنده یا جاری نخوای استفاده کنی من این کد رو بیشتر ترجیح میدم :

using (System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand ())
using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection())
{
System.Data.SqlClient.SqlParameter parameter;
try
{
connection.ConnectionString = "your connection string text";
command.CommandType = CommandType.Text;
command.Connection = connection;
command.CommandText = "your update command";
parameter = new System.Data.SqlClient.SqlParameter();
parameter.ParameterName = "ParameterName";
parameter.SqlDbType = SqlDbType.BigInt; // SQL DB type
parameter.Value = ""; // Your value
command.Parameters.Add(parameter);
if (connection.State != ConnectionState.Open)
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (connection != null) // Check the connection is alive
{
connection.Close(); // Close current connection
connection.Dispose(); // Dispose connection
}
if (command != null) // Check the command is alive
{
command.Dispose(); // Dispose command
}
command.Dispose();
}
}

apple57
یک شنبه 16 تیر 1392, 20:27 عصر
بسیار بسیار متشکرم