PDA

View Full Version : انتقال اطلاعات از SQL به Access با استفاده از سی شارپ



..Johnny
جمعه 04 تیر 1395, 11:57 صبح
سلام دوستان، یه سری اطلاعات دارم توو SQL حدوده 4 ستون و 680 سطر اطلاعاته، میخواستم با استفاده از سی شارپ قطعه کدی بنویسم که اطلاعاتمو بفرستم توو بانک Access
میشه لطفا راهنماییم کنید چطوری کدشو بنویسم؟
ممنون میشم

mrprestige
جمعه 04 تیر 1395, 19:03 عصر
سلام دوست من وقتت بخیر ، شما میتونی با استفاده از این کدی که برات نوشتم داده های خودت رو از SQL به Access ببری

string strMySqlConnectionString = "SQL Connection String";
SqlConnection cn = new SqlConnection(strMySqlConnectionString);
SqlCommand cm = cn.CreateCommand();
cm.CommandText = @"select Id, Name, Tel from Table1 ";
SqlDataReader mSqlReader;
cn.Open();
mSqlReader = cm.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(mSqlReader);
cn.Close();
string strAccessConnectionString = @"Access Connection String";
OleDbConnection accessConnection = new OleDbConnection(strAccessConnectionString);
accessConnection.Open();
OleDbCommand insertCommand = new OleDbCommand();
insertCommand.Connection = accessConnection;
insertCommand.CommandText = @"INSERT INTO Table2 (ID, N, T) VALUES (@id, @name, @tel)";
foreach (DataRow row in dt.Rows)
{
insertCommand.Parameters.Clear();
insertCommand.Parameters.AddWithValue("@id", row["Id"].ToString());
insertCommand.Parameters.AddWithValue("@name", row["Name"].ToString());
insertCommand.Parameters.AddWithValue("@tel", row["Tel"].ToString());
insertCommand.ExecuteNonQuery();
}


سوال داشتی از این قسمت بگو حتما جواب میدم ، پیروز موفق باشی
از کدنویسی لذت ببری.

..Johnny
چهارشنبه 09 تیر 1395, 01:13 صبح
ممنون از پاسخ شما mrprestige (http://barnamenevis.org/member.php?338119-mrprestige)

فقط یه سوال دیگه
اینجا من باید توو Access جدولمو از قبل ایجاد کنم و مقادیرو داخلش بریزم؟؟ نمیشه بصورت کد جدول رو از همینجا ایجاد کرده و مقادیرو داخلش بریزم؟؟

mrprestige
چهارشنبه 09 تیر 1395, 18:30 عصر
ممنون از پاسخ شما mrprestige (http://barnamenevis.org/member.php?338119-mrprestige)

فقط یه سوال دیگه
اینجا من باید توو Access جدولمو از قبل ایجاد کنم و مقادیرو داخلش بریزم؟؟ نمیشه بصورت کد جدول رو از همینجا ایجاد کرده و مقادیرو داخلش بریزم؟؟
سلام دوست من ،آره میتونی کد هارو به شکل تغییر بده

SqlConnection cn = new SqlConnection("SQL Connection String");
SqlCommand cm = new SqlCommand("select id, Name from Table1", cn);
SqlDataReader mSqlReader;
cn.Open();
mSqlReader = cm.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(mSqlReader);
cn.Close();
OleDbConnection accessConnection = new OleDbConnection( "Access Connection String");
accessConnection.Open();
OleDbCommand cm1 = new OleDbCommand("CREATE TABLE table2(Id int, FName char(50))", accessConnection);
cm1.ExecuteNonQuery();
OleDbCommand insertCommand = new OleDbCommand(@"INSERT INTO table2 (Id, FName) VALUES (@id, @name)",accessConnection);
foreach (DataRow row in dt.Rows)
{
insertCommand.Parameters.Clear();
insertCommand.Parameters.AddWithValue("@id", row["id"].ToString());
insertCommand.Parameters.AddWithValue("@name", row["Name"].ToString());
insertCommand.ExecuteNonQuery();
}


پیروز و موفق باشی
از کدنویسی لذت ببری