From your question i conclude that
1.You want to write a query in your code(C#) that can work as if you are writing and executing query on your (SQL server).
Accordingly i am writing a simple code that creates a table(base on the data-table created by your code) in SQL server and inserts records in it from a data-table.
SqlConnection con = new SqlConnection("Data Source=.;uid=sa;pwd=sa123;database=Example1");
SqlCommand sqlCom = new SqlCommand("SELECT count(*) FROM sysobjects WHERE xtype = 'U' and name = 'abcd'", con);
int i = 0;
con.Open();
i = int.Parse(sqlCom.ExecuteScalar().ToString());
if (i > 0)
{
string drop = "drop table abcd";
SqlCommand cmd1 = new SqlCommand(drop, con);
cmd1.ExecuteNonQuery();
}
string sql = "Create Table abcd (";
foreach (DataColumn column in dt.Columns)
{
sql += "[" + column.ColumnName + "] " + "nvarchar(50)" + ",";
}
sql = sql.TrimEnd(new char[] { ',' }) + ")";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
cmd.ExecuteNonQuery();
using (var adapter = new SqlDataAdapter("SELECT * FROM abcd", con))
using(var builder = new SqlCommandBuilder(adapter))
{
adapter.InsertCommand = builder.GetInsertCommand();
adapter.Update(dt);
}
con.Close();
Please make the appropriate changes in your connection string.
Please vote my answer if it helped you in getting your solution!!!