Teniendo una DataTable con todos los registros que quiero insertar en una base de datos SQL Server. Las columnas tienen el mismo nombre en ambos. Con SqlCommand y SqlDataAdapter pero estoy un poco liado:
Código PHP:
DataTable dtGeneral = new DataTable("dtGeneral");
//Se crean las columnas y se insertan todos los registros.
//Proviene de un DataGrid cargado mediante un archivo XML.
......
......
//Obtenemos un DataTable vacío de la base de datos,
//que se usará para insertar los registros de la otra tabla y posteriormente
//actualizarlos.
DataTable dt = new DataTable("Noticias");
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM noticias WHERE id = 0";,con);
da.Fill(dt);
//Mediante un bucle, añadimos nuevas filas a la tabla obtenida
//de la base de datos.
foreach (DataRow dr in dtGeneral.Rows)
{
DataRow drn = dt.NewRow();
drn["titulo"] = dr["titulo"];
drn["medio"] = dr["medio"];
drn["fecha"] = dr["fecha"];
drn["enlace"] = dr["enlace"];
drn["resumen"] = dr["resumen"];
drn["activado"] = dr["activado"];
dt.Rows.Add(drn);
}
¿Van por aquí los tiros?
Código PHP:
string strIns = "INSERT INTO noticias" +
" (titulo,medio,fecha,enlace,resumen,activado)" +
" values (@titulo,@medio,@fecha,@enlace,@resumen,@activado)";
SqlCommand cmdIns = new SqlCommand(strIns,con);
cmdIns.Parameters.Add("@titulo", SqlDbType.NVarChar);
cmdIns.Parameters.Add("@medio", SqlDbType.NVarChar);
cmdIns.Parameters.Add("@fecha", SqlDbType.Date);
cmdIns.Parameters.Add("@enlace", SqlDbType.NVarChar);
cmdIns.Parameters.Add("@resumen", SqlDbType.NVarChar);
cmdIns.Parameters.Add("@activado", SqlDbType.Bit);
da.InsertCommand = cmdIns;