Je suis un débutant en C# et SQL, j'ai cette instruction d'insertion SQL que je veux effectuer. Il demande le nom de la table parmi les autres variables que je veux insérer.Doit déclarer la variable de table @table
Mais quand je lance cette application console i obtenir cette erreur:
doit déclarer la table des variables @table
Ceci est une partie du code:
StreamReader my_reader = getFile(args);
string CS = formCS();
try
{
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand com = new SqlCommand("insert into @table (time, date, pin) values (@time, @date, @pin)", con);
con.Open();
Console.WriteLine("Enter table name:");
Console.Write(">> ");
string tblname = Console.ReadLine();
com.Parameters.AddWithValue("@table", tblname);
string line = "";
int count = 0;
while ((line = my_reader.ReadLine()) != null)
{
Dictionary<string, string> result = extractData(line);
com.Parameters.AddWithValue("@time", result["regTime"]);
com.Parameters.AddWithValue("@date", result["regDate"]);
com.Parameters.AddWithValue("@pin", result["regPin"]);
count += com.ExecuteNonQuery();
com.Parameters.Clear();
}
Console.WriteLine("Recoreds added : {0}", count.ToString());
Console.WriteLine("Press Enter to exit.");
}
Console.ReadLine();
}
catch (SqlException ex)
{
Console.WriteLine(ex.Message);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Il n'est pas autorisé d'avoir le nom de table de votre insert statememt en tant que variable. Recherchez dans sp_exec si vous avez besoin de quelque chose comme cette. – rene