DataSet ds = new DataSet();
Dictionary<string, object> parameters;
List<string> sqlQuery = new List<string>();
sqlQuery.Add("INSERT INTO Emp(FName, LName, Sal) VALUES(@FName, @LName, @Sal)");
sqlQuery.Add("INSERT INTO Stu(FName, LName, Marks) VALUES(@FName, @LName, @Marks)");
for(int i=0; i<ds.Tables.Count; i++)
{
DataTable dt = ds.Tables[i];
parameters = new Dictionary<string, object>();
foreach (DataRow dr in dt.Rows)
{
for (int j = 0; j < dt.Columns.Count; j++)
parameters.Add("@" + dt.Columns[j].ColumnName, dr[j]);
}
InsertUpdateDelete(sqlQuery[i], parameters, false);
}
public bool InsertUpdateDelete(string sql, Dictionary<string, object> parameters, bool isProcedure)
{
using (SqlConnection sqlConnection = new SqlConnection(ConnectionString))
{
sqlConnection.Open();
using (SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection))
{
if (isProcedure) sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
else sqlCommand.CommandType = System.Data.CommandType.Text;
foreach (KeyValuePair<string, object> parameter in parameters)
sqlCommand.Parameters.Add(new SqlParameter(parameter.Key, parameter.Value));
if (sqlCommand.ExecuteNonQuery() > 0) return true;
else return false;
}
}
}