1

次のようにaspxページに挿入クエリを書き込むにはどうすればよいですか?

insert into tablname(field1 ,field2, field3)values(@field1,@field2,@field1-@field2)

ここでは、field3をデータベースの計算列にしました。これは、データベースのfield1-field2です。フィールドに挿入された値はテキストボックスにあるので、実行時に2つのテキストボックスの差を計算してから、その値をデータベースに挿入します。どうすればこれを達成できますか?

4

2 に答える 2

0

挿入物にフィールド3を含める必要はありません。

MSDNから:特に指定がない限り、計算列はテーブルに物理的に格納されていない仮想列です。

したがって、計算された値をフォームに表示できますが、データベースに実際に挿入するときは、2つの値を挿入するだけです。テーブルをクエリすると、field3の値が計算されます。

于 2013-03-25T17:12:22.900 に答える
0

多くの方法がありますが、2つのパラメーターを使用してストアドプロシージャを作成し、そこから挿入ステートメントを実行することをお勧めします。たとえば@field1@field2ストアドプロシージャ内に値を計算し、値@field3 = @field1 - @field2を送信するローカル変数を作成できます。(@field1, @field2, @field3)

create table test22(field1 int, field2 int, field3 int)

create proc inserttest22
    @field1 int,
    @field2 int
as
    declare @field3 int

    set @field3 = @field1 - @field2

    insert into test22 values (@field1, @field2, @field3)
go
于 2013-04-18T16:38:04.730 に答える