Новая ошибка SQL в C# ASP.NET
Первоначальная ошибка была исправлена, теперь ее изменили на....
System.Data.SqlClient.SqlException (0x80131904): невозможно вставить значение NULL в столбец «Id», таблица «C: \ USERS \ BRIAN \ DESKTOP \ WEBSITE (НЕ МЕНЯТЬ) \ THOMAS COUNTY PUBLIC WORKS \ THOMAS COUNTY PUBLIC WORKS \ APP_DATA \ SIGNDATABASE.MDF.dbo.SignDatabase '; столбец не допускает значений NULL. INSERT не работает. Заявление было прекращено. в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое breakConnection, Action`1 wrapCloseInAction) в System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, Boolean breakConnection, Action`1 wrapClientInAction) .TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, Boolean, Boolean callerHasConnectionLock asyncClose) в System.Data.SqlClient.TdsParser.TryRun (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader DATASTREAM, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean & dataReady) в System.Data.SqlClient. SqlCommand.FinishExecuteReader (SqlDataReader DS, runBehavior runBehavior, String resetOptionsString) на System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, runBehavior runBehavior, булева returnStream, булева асинхронные, Int32 тайм-аут, задачи и задачи, булева asyncWrite, SqlDataReader DS, булева describeParameterEncryptionRequest ) в System. Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String метод, завершение TaskCompletionSource`1, тайм-аут Int32, Task & task, Boolean asyncWrite) в System`InternalCompletionCompletionCompletionCompletionCompletionCompletionCompletionCompletionCompletion () String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) в System.Data.SqlClient.SqlCommand.ExecuteNonQuery () в Thomas_County_Public_Works.Sign_Database.Button1_Click (Отправитель объекта, EventArgs Desktop Users (DrianArgs Desktop) в C: \ Изменить) \ Thomas County Public Works \ Thomas County Public Works \ Sign Database.aspx.cs: строка 27 ClientConnectionId: da77b3bd-eef6-46b4-9833-92c9466232e3 Номер ошибки: 515, состояние: 2, класс: 16
Это те исправления, которые я сделал. Но после исправления этих проблем теперь он бросает вышеприведенный код.
namespace Thomas_County_Public_Works { public partial class Sign_Database : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { try { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnect"].ConnectionString); con.Open(); string insert = "Insert into SignDatabase([Date],[Road Name],[Location],[Sign ID],[MUTCD],[Code],[Description of Work],[Size Length],[Size Width],[Backing],[Sheeting],[Support Type],[Support Material],[Sign Damage],[Support Damage],[Sign Repair],[Support Repair],[Work Order Number],[Obstruction],[Rating Date],[Sign Condition],[Support Condition],[Background Reflectivity],[Text Symbol Reflectivity],[Large Sign],[Mounted Overhead],[No Reflectivity Taken]) values(@Date,@RoadName,@Location,@SignID,@MUTCD,@Code,@DescriptionofWork,@SizeLength,@SizeWidth,@Backing,@Sheeting,@SupportType,@SupportMaterial,@SignDamage,@SupportDamage,@SignRepair,@SupportRepair,@WorkOrderNumber,@Obstruction,@RatingDate,@SignCondition,@SupportCondition,@BackgroundReflectivity,@TextSymbolReflectivity,@LargeSign,@MountedOverhead,@NoReflectivityTaken)"; SqlCommand cmd = new SqlCommand(insert, con); cmd.Parameters.AddWithValue("@Date", TextBox1.Text); cmd.Parameters.AddWithValue("@RoadName", TextBox3.Text); cmd.Parameters.AddWithValue("@Location", TextBox2.Text); cmd.Parameters.AddWithValue("@SignID", TextBox4.Text); cmd.Parameters.AddWithValue("@MUTCD", TextBox5.Text); cmd.Parameters.AddWithValue("@Code", DropDownList1.Text); cmd.Parameters.AddWithValue("@DescriptionofWork", TextBox6.Text); cmd.Parameters.AddWithValue("@SizeLength", TextBox7.Text); cmd.Parameters.AddWithValue("@SizeWidth", TextBox8.Text); cmd.Parameters.AddWithValue("@Backing", DropDownList2.Text); cmd.Parameters.AddWithValue("@Sheeting", DropDownList3.Text); cmd.Parameters.AddWithValue("@SupportType", DropDownList4.Text); cmd.Parameters.AddWithValue("@SupportMaterial", DropDownList5.Text); cmd.Parameters.AddWithValue("@SignDamage", DropDownList6.Text); cmd.Parameters.AddWithValue("@SupportDamage", DropDownList7.Text); cmd.Parameters.AddWithValue("@SignRepair", DropDownList8.Text); cmd.Parameters.AddWithValue("@SupportRepair", DropDownList9.Text); cmd.Parameters.AddWithValue("@WorkOrderNumber", TextBox9.Text); cmd.Parameters.AddWithValue("@Obstruction", TextBox10.Text); cmd.Parameters.AddWithValue("@RatingDate", TextBox11.Text); cmd.Parameters.AddWithValue("@SignCondition", DropDownList10.Text); cmd.Parameters.AddWithValue("@SupportCondition", DropDownList11.Text); cmd.Parameters.AddWithValue("@BackgroundReflectivity", TextBox12.Text); cmd.Parameters.AddWithValue("@TextSymbolReflectivity", TextBox13.Text); cmd.Parameters.AddWithValue("@LargeSign", DropDownList12.Text); cmd.Parameters.AddWithValue("@MountedOverhead", DropDownList13.Text); cmd.Parameters.AddWithValue("@NoReflectivityTaken", DropDownList14.Text); cmd.ExecuteNonQuery(); con.Close(); } catch (Exception ex) { Response.Write(ex); } } } }
Что я уже пробовал:
Я пробовал следить за этим видео
Соединение с базой данных (SQL server database) в ASP.NET использование Visual Studio 2012-15-YouTube[^]
NotPolitcallyCorrect
Уберите пробелы из имен параметров. И прекратите использовать имена элементов управления по умолчанию для ваших элементов управления.
CHill60
Вот оно, решение!