小编Kel*_*net的帖子

SQL通过SELECT语句更新多个字段FROM

这有效,但我想删除冗余.有没有办法将更新与单个select语句合并,所以我不必使用变量?

    DECLARE
        @OrgAddress1 varchar,
        @OrgAddress2 varchar,
        @OrgCity varchar,
        @OrgState varchar,
        @OrgZip varchar,
        @DestAddress1 varchar,
        @DestAddress2 varchar,
        @DestCity varchar,
        @DestState varchar,
        @DestZip varchar

    SELECT 
        @OrgAddress1    =   OrgAddress,
        @OrgAddress2    =   OrgAddress2,
        @OrgCity        =   OrgCity,
        @OrgState       =   OrgState,
        @OrgZip         =   OrgZip,
        @DestAddress1   =   DestAddress,
        @DestAddress2   =   DestAddress2,
        @DestCity       =   DestCity,
        @DestState      =   DestState,
        @DestZip        =   DestZip
    FROM 
        ProfilerTest.dbo.BookingDetails 
    WHERE 
        MyID=@MyID

    UPDATE SHIPMENT
    SET
        OrgAddress1     =   @OrgAddress1,
        OrgAddress2     =   @OrgAddress2,
        OrgCity         =   @OrgCity,
        OrgState        =   @OrgState,
        OrgZip          =   @OrgZip,
        DestAddress1    =   @DestAddress1,
        DestAddress2    = …
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures sql-update

39
推荐指数
3
解决办法
12万
查看次数

DataReader.GetString()通过columnname

Dictionary Fields = new Dictionary();
for (int i = 0; i < reader.FieldCount; i++)
{
     Fields.Add(reader.GetName(i), i);
}

this._MyField1 = reader.GetString(Fields["field1"]);
this._Myfield2 = reader.GetInt16(Fields["field2"]);

这样做让我想哭但我似乎无法弄清楚除了这种方式之外如何通过列名使用类型specfic检索方法.请告诉我有更好的方法.这特别针对DB2,但我希望该解决方案也适用于MS Sql

sql datareader

9
推荐指数
1
解决办法
8458
查看次数

给定总数,确定一个值将进入的次数

问题:

一个盒子可容纳53件物品.如果一个人有56个项目,则需要2个盒子来容纳它们.方框1将容纳53个项目,方框2将容纳3个项目.

我如何重复上面的内容,其中53是一个不变的,不变的值,56是每个框的变量:

Math.Ceiling(Convert.ToDecimal(intFeet / 53))
Run Code Online (Sandbox Code Playgroud)

到目前为止我所拥有的是:

int TotalItems = 56; 
int Boxes = Math.Ceiling(Convert.ToDecimal(intFeet / 53));  

for (int i = 0; i < Boxes; i++)
{  
    int itemsincurrentbox=??  
}  
Run Code Online (Sandbox Code Playgroud)

c# math

6
推荐指数
2
解决办法
8571
查看次数

sql2000在存储过程中循环

我是SQL的新手,我可以很容易地使用基本语句,但我还没有想出循环.

Foreach(JobHeaderID AS @OldJobHeaderID in dbo.EstimateJobHeader WHERE EstimateID=@OldEstimateID)  
{  
  INSERT EstimateJobHeader (ServiceID,EstimateID) 
  SELECT ServiceID, @NewEstimateID 
  FROM EstimateJobHeader 
  WHERE EstimateID=@OldEstimateID;  

  SELECT @err = @@error 
  IF @err <> 0 
  BEGIN 
    ROLLBACK TRANSACTION 
    SET @RETURN_VALUE = 4 
    RETURN 4 
  END  

  SET @NewJobHeaderID = CAST(SCOPE_IDENTITY() AS INT)  

  SELECT @err = @@error 
  IF @err <> 0 
  BEGIN 
    ROLLBACK TRANSACTION 
    SET @RETURN_VALUE = 3 
    RETURN 3 
  END  

  INSERT EstimateDetail (JobHeaderID, OtherCols) 
  SELECT (@NewJobHeaderID,OtherCols) 
  FROM EstimateDetail 
  WHERE JobHeaderID=@OldJobHeaderID

  SELECT @err = @@error 
  IF @err <> 0 
  BEGIN …
Run Code Online (Sandbox Code Playgroud)

sql loops stored-procedures

2
推荐指数
2
解决办法
869
查看次数

标签 统计

sql ×3

stored-procedures ×2

c# ×1

datareader ×1

loops ×1

math ×1

sql-server ×1

sql-update ×1