Я загружаю данные из XML-файла и заполняю DataTable
. Затем я вставляю эти данные в SQL Server с помощью хранимой процедуры.Из DataTable Вставить в базу данных сервера Sql
Я использую этот код, но он не работает при сохранении в базу данных:
private void button1_Click(object sender, EventArgs e)
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(@"D:\DBXML.xml");
XmlElement root = xmldoc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("/students/student");
DataTable dt = new DataTable();
dt.Columns.Add("Nama", typeof(string));
dt.Columns.Add("Alamat", typeof(string));
foreach (XmlNode item in nodes)
{
DataRow dr = dt.NewRow();
dr[0] = item["name"].InnerText;
dr[1] = item["address"].InnerText;
dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
using (var cmd = new SqlCommand("InsertSiswa") { CommandType = CommandType.StoredProcedure })
{
//DataTable dt = new DataTable();
cmd.Parameters.Add(new SqlParameter("@MyDataTable", dt));
cmd.ExecuteNonQuery();
MessageBox.Show("Sukses");
}
Что что вы получаете? – Venki
покажите свой код процедуры магазина. – Dhaval
Вы зацикливаете данные и пытаетесь вставить каждую строку. Также, если вы используете параметр значения таблицы в SP, тогда вы должны установить его SqlDbType как System.Data.SqlDbType.Structured. Подробнее о параметре значения таблицы http://stackoverflow.com/questions/10409576/pass-table-valued-parameter-using-ado-net –