PDA

View Full Version : چطوری از دیتاتیبل همه ی اطلاعات رو بریزیم توی یه جدول از اکسس؟



Kaveh619
شنبه 10 آبان 1393, 12:54 عصر
سلام....خسته نباشید همگی...
دوستان میخواستم ببینم از یه دیتاتیبل چطوری میتونم همه اطلاعاتش رو بریزم تو جدول اکسس؟!

کوئریشو میخوام...من اینو نوشتم ولی ارور میده!:
dt همون دیتاتیبل من هست......
string command = "INSERT INTO eshafraad "+dt+"";
syntax error میده...

Kaveh619
شنبه 10 آبان 1393, 12:57 عصر
ضمنا از حلقه نمیخووام استفاده کنم....
حتی تو تعداد رکورد های پایین هم سرعتش پایین بود....

pedram.11
شنبه 10 آبان 1393, 13:14 عصر
میتونید از قابلیت update استفاده و فقط دستور insert رو معرفی کنید

Kaveh619
شنبه 10 آبان 1393, 13:16 عصر
میتونید از قابلیت update استفاده و فقط دستور insert رو معرفی کنید
میشه یه نمونه کد بدید؟!

pedram.11
شنبه 10 آبان 1393, 13:29 عصر
بفرمائید:
void update(OleDbConnection con, DataTable dt)
{
string select = "SELECT * FROM eshafraad";
// insert command
string insert = "INSERT INTO eshafraad(";
for (int i = 0; i < dt.Columns.Count; i++)
insert += dt.Columns[i].ColumnName + ", ";
insert = insert.Remove(insert.Length - 2, 2);
insert += ") values(";
for (int i = 0; i < dt.Columns.Count; i++)
insert += "@" + dt.Columns[i].ColumnName + ", ";
insert = insert.Remove(insert.Length - 2, 2);
insert += ")";
//
OleDbDataAdapter adapter = new OleDbDataAdapter(select, con);
adapter.InsertCommand = new OleDbCommand(insert);


for (int i = 0; i < dt.Columns.Count; i++)
adapter.InsertCommand.Parameters.Add("@" + dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);


adapter.InsertCommand.Connection = con;
adapter.InsertCommand.Connection.Open();
adapter.Update(dt);
adapter.InsertCommand.Connection.Close();
}
شاید توی کوئری insert اشتباه کرده باشم. اگه نشد کوئری رو تغییر بدید به اینصورت:
void update(OleDbConnection con, DataTable dt)
{
string select = "SELECT * FROM eshafraad";
// insert command
string insert = "INSERT INTO eshafraad(col1, col2, col3) values(@col1, @col2, @col3)";
//
OleDbDataAdapter adapter = new OleDbDataAdapter(select, con);
adapter.InsertCommand = new OleDbCommand(insert);
adapter.InsertCommand.Parameters.Add("@col1", "col1");
adapter.InsertCommand.Parameters.Add("@col2", "col2");
adapter.InsertCommand.Parameters.Add("@col3", "col3");
adapter.InsertCommand.Connection = con;
adapter.InsertCommand.Connection.Open();
adapter.Update(dt);
adapter.InsertCommand.Connection.Close();
}

Kaveh619
شنبه 10 آبان 1393, 14:10 عصر
بفرمائید:
void update(OleDbConnection con, DataTable dt)
{
string select = "SELECT * FROM eshafraad";
// insert command
string insert = "INSERT INTO eshafraad(";
for (int i = 0; i < dt.Columns.Count; i++)
insert += dt.Columns[i].ColumnName + ", ";
insert = insert.Remove(insert.Length - 2, 2);
insert += ") values(";
for (int i = 0; i < dt.Columns.Count; i++)
insert += "@" + dt.Columns[i].ColumnName + ", ";
insert = insert.Remove(insert.Length - 2, 2);
insert += ")";
//
OleDbDataAdapter adapter = new OleDbDataAdapter(select, con);
adapter.InsertCommand = new OleDbCommand(insert);


for (int i = 0; i < dt.Columns.Count; i++)
adapter.InsertCommand.Parameters.Add("@" + dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);


adapter.InsertCommand.Connection = con;
adapter.InsertCommand.Connection.Open();
adapter.Update(dt);
adapter.InsertCommand.Connection.Close();
}
شاید توی کوئری insert اشتباه کرده باشم. اگه نشد کوئری رو تغییر بدید به اینصورت:
void update(OleDbConnection con, DataTable dt)
{
string select = "SELECT * FROM eshafraad";
// insert command
string insert = "INSERT INTO eshafraad(col1, col2, col3) values(@col1, @col2, @col3)";
//
OleDbDataAdapter adapter = new OleDbDataAdapter(select, con);
adapter.InsertCommand = new OleDbCommand(insert);
adapter.InsertCommand.Parameters.Add("@col1", "col1");
adapter.InsertCommand.Parameters.Add("@col2", "col2");
adapter.InsertCommand.Parameters.Add("@col3", "col3");
adapter.InsertCommand.Connection = con;
adapter.InsertCommand.Connection.Open();
adapter.Update(dt);
adapter.InsertCommand.Connection.Close();
}

دوست عزیز هیچ داده ای اضافه نکرد...دیتاتیبل روپر میکنه ولی insert نمیکنه....update هم نمیکنه....
کلا چیزی اضافه نکرد به دیتابیس!

pedram.11
شنبه 10 آبان 1393, 14:46 عصر
کوئری رو نسبت به جدول خودتون تغییر دادید؟ قرار بدید تا چک کنم. اگه هم که سورس رو بذارید بهتر میشه