Я задаюсь вопросом, почему я получаю исключение на SqlDataReader reader2 = theCommandInsert.ExecuteReader();
SQL Server Вставить запрос
на это код, я использую:
var conString = ConfigurationManager.ConnectionStrings["LocalSqlServer"];
string strConnString = conString.ConnectionString;
SqlConnection dbConnection = new SqlConnection(strConnString);
dynamic queryString = ("INSERT INTO FOLDERS (Name) VALUES ('" + txtBoxFolderLabel.Text + "') ");
int param = CheckBoxList2.SelectedIndex;
param = param + 1;
dynamic queryStringInsert = ("INSERT INTO GROUPS_FOLDERS (Folder_Id, Group_Id) VALUES(IDENT_CURRENT('Folders') , " + param + ")");
SqlCommand theCommand = new SqlCommand(queryString, dbConnection);
SqlCommand theCommandInsert = new SqlCommand(queryStringInsert, dbConnection);
//Connection opening and executing
if (string.IsNullOrEmpty(txtBoxFolderLabel.Text) | CheckBoxList2.SelectedIndex.ToString() == null)
{
Response.Write("Empty fields !");
}
else if (Functions.IsNumeric(txtBoxFolderLabel.Text))
{
Response.Write("No numerics !");
}
else
{
dbConnection.Open();
SqlDataReader reader = theCommand.ExecuteReader();
string folderName = txtBoxFolderLabel.Text;
// Create folder
System.IO.Directory.CreateDirectory("C://inetpub//wwwroot//Files//" + folderName);
dbConnection.Close();
dbConnection.Open();
SqlDataReader reader2 = theCommandInsert.ExecuteReader();
dbConnection.Close();
Это исключение, которое я получаю:
Заявление INSERT противоречило ограничениям FOREIGN KEY «FK_GROUPS_FOLDERS_Groups». Конфликт произошел в базе данных "9B15719DF48C3E2301D7F965674A6F93_VISUAL STUDIO 2010 \ Projects \ CLIENTPORTAL \ APPLICATIONUI \ ВЕБСАЙТОВ \ CLIENTPORTAL \ App_Data \ DATAUI.MDF", стол "dbo.Groups", столбец 'Id'.
Я проверить в базе данных, нет нет Id дублированный или что-то ..
Не могли бы вы мне помочь, пожалуйста?
Cheers.
** ВНИМАНИЕ ** ваш код уязвим для SQL-инъекций! –
Исправление состоит в том, чтобы использовать параметры с вашей командой SQL, как указано в моем ответе ниже. – ashes999
Почему использование btw 'ExecuteReader()' вместо 'ExecuteNonQuery'? –