I want to import data from Excel worksheet into SQL Server database (2008). I have successfully tested code for getting data from xls file. However, I am not able insert these data into db table. Here is the part of the code:
while (ctecka.Read())
{
exJmeno = ctecka[0].ToString();
exPrijmeni = ctecka[1].ToString();
Response.Write(exJmeno + " " + exPrijmeni + " ");
pridano = vlozSQL.ExecuteNonQuery();
}
ctecka is DbDataReader object and it contains data from excel worksheet
exJmeno and exPrijmeni are strings and data from columns are inserted there
Problem:
Response.write writes onto page the data I need
vlozSQL.ExecuteNonQuery ignores data in (exJmeno and exPrijmeni) and inserts empty columns into table in database
here are some definitions:
string InsertSQL = "INSERT INTO users (name, surname) VALUES (@name,@surname)";
vlozSQL.Parameters.AddWithValue("@name", exJmeno);
vlozSQL.Parameters.AddWithValue("@surname", exPrijmeni);
EDIT
string exJmeno = "";
string exPrijmeni = "";
string InsertSQL = "INSERT INTO users (name, surname) VALUES (@name,@surname)";
SqlConnection sqlconn = new SqlConnection(SQLpripoj);
SqlCommand vlozSQL = new SqlCommand(InsertSQL, sqlconn);
vlozSQL.Parameters.AddWithValue("@name", exJmeno);
vlozSQL.Parameters.AddWithValue("@surname", exPrijmeni);
try
{
spojeni.Open();
DbDataReader ctecka = prikaz.ExecuteReader();
sqlconn.Open();
while (ctecka.Read())
{
exJmeno = ctecka[0].ToString();
exPrijmeni = ctecka[1].ToString();
Response.Write(exJmeno + " " + exPrijmeni + " ");
pridano = vlozSQL.ExecuteNonQuery();
}
}
finally
{
spojeni.Close();
sqlconn.Close();
Label2.Text = pridano.ToString();
}
Since strings are not mutable in C#, your assignments in the loop won’t actually change the parameters, you’ll have to add them each time. You’ll need to do something like;