这是我的 table :
CREATE TABLE [dbo].[InvoiceTable] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[CodeColumn] NVARCHAR (50) NOT NULL,
[NameColumn] NVARCHAR (50) NOT NULL,
[QTYColumn] INT NULL,
[TotalQTYColumn] INT NULL,
[UnitCostColumn] INT NOT NULL,
[DiscountRateColumn] FLOAT (53) DEFAULT ((0)) NULL,
[RowTotalColumn] AS (([QTYColumn]*[UnitCostColumn])*((1)-[DiscountRateColumn])) PERSISTED,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
我有一份发票表格和一份确认表格。用户在第一个表格中选择所需的商品,并在第二个表格中确认他/她应该支付的金额。我希望我的程序将 sum(RowTotalColumn)
的值显示为 TotalCostTextBox.Text 中的文本。
我编写了以下代码:
private int ConfirmForm_Load(object sender, EventArgs e)
{
string selectQuery = "SELECT Sum(RowTotalColumn) FROM InvoiceTable";
var sqlcmd = new SqlCommand(selectQuery, sqlcon);
var result = sqlcmd.ExecuteScalar();
return int.Parse(result.ToString());
TotalCostTextBox1.Text = result.ToString();
当我将 TotalCostTextBox1.Text = result.ToString();
放在 return
之后时,它会大喊
Unreachable code detected
当我把它放在return
之前时,TotalCostTextBox1
什么也没显示...
请告诉我如何用该值填充 TotalCostTextBox1。与 return 语句无关。
最佳答案
您的方法的返回类型是 int,这就是您收到错误的原因。您可以将方法返回类型更改为 void
并删除 return 关键字:
private void ConfirmForm_Load
还有
var result = sqlcmd.ExecuteScalar();
int x = int.Parse(result.ToString());
TotalCostTextBox1.Text = x.ToString();
关于c# - 如何使用 ExecuteScalar() 获取值并将其赋给您的 textbox.text?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53409359/