Скорее всего, ваша проблема связана со вставкой строк (как varchar) вместо NVarchar.
Ваш код будет работать более надежно, безопаснее и быстрее, если вы определите параметризованный запрос и параметры перед запускомцикл:
List<string> _names = new List<string>()
{
"ذهب",
"قال",
"تعال",
"متى",
"البرمجة",
"احمد"
};
SqlConnection connection = new SqlConnection("Server=DESKTOP-JRS3DQ4; DataBase=Library_DB; Integrated Security=true");
connection.Open();
SqlCommand command = new SqlCommand("INSERT INTO tbl_names (id,name) VALUES (@Id, @Name)", connection);
command.Parameters.Add("@Id", SqlDbType.Int);
command.Parameters.Add("@Name", SqlDbType.NVarChar, 20); //size and type must match your DB
for (int index = 0; index < _names.Count; index++)
{
command.Parameters["@Id"].Value = index;
command.Parameters["@Name"].Value = _names[index];
command.ExecuteNonQuery();
}
connection.Close();
Последнее замечание: это не поможет, если в вашей БД нет столбца Name
, определенного как NVarChar.