我正在尝试为uni的最后一年项目构建一个简单的Web应用程序。
我已设法使用vs2012设置SQL数据库。我有一个页面试图将股票添加到" Stock"数据库表。
我在创建asp:DropDownList时遇到了问题,我从表中选择了数据源" Clients" (这里面有信息),一切都很好。
然而,在我的表格" Stock"我有一个外键作为" ClientID"这是供用户选择股票所属的人。
访问我点击的人的ID时遇到问题。这就是我要做的事情。
clsStock
private int ClientID;
public int ClientIDRecord
{
get
{
return ClientID;
}
set
{
ClientID = value;
}
}
public void saveStockInformation()
{
clsLabelsDataConduit stockDetails = new clsLabelsDataConduit();
stockDetails.Execute("sprocTableStock_GetAll");
stockDetails.NewRecord["ClientID"] = clientIDRecord;
}
addstock.aspx.cs
protected void btnSubmit_Click(object sender, EventArgs e)
{
LabelsClassLib.clsStock stockData = new LabelsClassLib.clsStock();
stockData.clientIDRecord = drpClientName.SelectedIndex;
stockData.saveStockInformation();
}
我的SQL表格: 客户机:
CREATE TABLE [dbo].[Clients] (
[ClientID] INT IDENTITY (1, 1) NOT NULL,
[FirstName] VARCHAR (20) NOT NULL,
[LastName] VARCHAR (20) NOT NULL,
[ClientAddressLine1] VARCHAR (30) NOT NULL,
[ClientAddressLine2] VARCHAR (30) NULL,
[Town] VARCHAR (20) NOT NULL,
[County] VARCHAR (20) NOT NULL,
[Postcode] VARCHAR (10) NOT NULL,
[MobileNumber] VARCHAR (12) NOT NULL,
[HomeNumber] VARCHAR (20) NOT NULL,
[EmailAddress] VARCHAR (320) NOT NULL,
[DateAddedToSystem] ROWVERSION NOT NULL,
PRIMARY KEY CLUSTERED ([ClientID] ASC)
);
股票表:
CREATE TABLE [dbo].[Stock] (
[StockID] INT IDENTITY (1, 1) NOT NULL,
[ClientID] INT NOT NULL,
[ItemTypeID] INT NOT NULL,
[ItemName] VARCHAR (30) NULL,
[ImageOfItem] IMAGE NULL,
[DateAddedToSystem] DATE NULL,
[DateSold] DATE NULL,
[DatePurchased] DATE NULL,
[ItemDescription] VARCHAR (50) NULL,
[RetailPrice] MONEY NULL,
[Quantity ] SMALLINT NULL,
[ItemSold] VARCHAR (3) NULL,
[Designer] VARCHAR (50) NULL,
[PurchasePrice] MONEY NULL,
[ItemColour] VARCHAR (20) NULL,
[ItemSize] INT NULL,
PRIMARY KEY CLUSTERED ([StockID] ASC),
CONSTRAINT [FK_ClientID] FOREIGN KEY ([ClientID]) REFERENCES [dbo].[Clients] ([ClientID]),
CONSTRAINT [FK_ItemType] FOREIGN KEY ([ItemTypeID]) REFERENCES [dbo].[ItemTypes] ([ItemTypeID])
);
我觉得我知道并理解这个问题,但我不知道如何解决这个问题,如果任何人可以提供帮助,我将非常感激。
答案 0 :(得分:1)
我认为问题与您从下拉列表中获取值的方式有关,而不是stockData.clientIDRecord = drpClientName.SelectedIndex
;应该是
stockData.clientIDRecord = drpClientName.SelectedValue;
它还取决于您如何进行数据绑定,并且指定的属性将作为值存储在下拉列表中。
drpClientName.DataValueField ="ClientID"