3 層ソリューション (またはそれが呼ばれるもの) を使用して、MySql データベースに挿入しようとしています。
私はこれを MS-sql データベースで何度も実行しましたが、非常にうまく機能しました。
しかし、挿入しようとすると、IDをnullにすることはできません。データベースがそれを処理すると思いました。コードに挿入を直接記述し、MySqlCommand と executeNonQuery を使用すると、うまく機能します。
MySql で BLL と DAL を使用することはできませんか?
エラーメッセージ:
System.Data.NoNullAllowedException: 列 'GiftID' は null を許可しません。System.Data.DataColumn.CheckNullable (DataRow 行) で System.Data.DataColumn.CheckColumnConstraint (DataRow 行、DataRowAction アクション) で System.DataTable.RaiseRowChanging (DataRowChangeEventArgs args、DataRow eRow、DataRowAction eAction、Boolean fireEvent) システムで.Data.DataTable.SetNewRecordWorker(DataRow 行、Int32 提案レコード、DataRowAction アクション、ブール値 isInMerge、Int32 位置、ブール値 fireEvent、Exception& deferredException) で System.Data.DataTable.InsertRow(DataRow 行、Int32 提案 ID、Int32 位置、ブール値 fireEvent) c:\Users\IT\AppData\Local\Temp\Temporary ASP.NET Files\payex\45bd406a\10c84208\App_Code.cyqhjqo7 の PayEx.payexusersDataTable.AddpayexusersRow(payexusersRow 行) の System.Data.DataRowCollection.Add(DataRow 行) .1.cs:
私のコード:
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)]
public bool AddPayExUser(string Firstname, string Lastname, string Company, string Address, string Zip, string City, string Phone, string Email, byte ContactMe, uint Amount, uint TransactionNumber, byte Anonymous, string Currency)
{
PayEx.payexusersDataTable puTable = new PayEx.payexusersDataTable();
PayEx.payexusersRow puRow = puTable.NewpayexusersRow();
puRow.Firstname = Firstname;
puRow.Lastname = Lastname;
puRow.Company = Company;
puRow.Address = Address;
puRow.Zip = Zip;
puRow.City = City;
puRow.Phone = Phone;
puRow.Email = Email;
puRow.ContactMe = ContactMe;
puRow.Amount = Amount;
puRow.TransactionNumber = TransactionNumber;
puRow.Anonymous = Anonymous;
puRow.Currency = Currency;
puTable.AddpayexusersRow(puRow);
int rowsAffected = Adapter.Update(puTable);
return rowsAffected == 1;
}