小编Mar*_*son的帖子

如何从一个存储过程填充多个 GridView 控件?

我在 SQL Server 中有一个存储过程,它返回七个结果集。我想从 ASP.NET 调用此存储过程,并使用结果填充 ASP.NET 页面上的七个 GridView。我正在使用 SqlDataReader 来获取数据,但是我正在努力使用 C# 代码来填充 GridView。

我创建了一个 DAL 类来获取数据,其中有这个方法:

public SqlDataReader CheckDataIntegrity()
{
    SqlCommand cmd = new SqlCommand("cc.DataCheck");
    return MultipleResults(cmd);
}
Run Code Online (Sandbox Code Playgroud)

辅助方法 MultipleResults 如下所示:

private SqlDataReader MultipleResults(SqlCommand cmd)
{
    SqlConnection con = new SqlConnection(_connectionString);
    cmd.Connection = con;

    con.Open();
    SqlDataReader dr = cmd.ExecuteReader();
    con.Close();
    return dr;

}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下内容调用页面上的组件:

private void FillGridViews()           
{
    DBUtil DB = new DBUtil();
    using (SqlDataReader dr = DB.CheckDataIntegrity())
    {
        if (dr.HasRows)
        {
            while (dr.Read())
            {
                GridView1.DataSource = dr;
                GridView1.DataBind(); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net multiple-resultsets

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

如何使用NHibernate的Enums?

在AccountType.cs我有:

namespace MooDB.Domain
{
    public enum AccountType {Real, Demo, Fictional};
}
Run Code Online (Sandbox Code Playgroud)

在Account.cs我有:

public class Account : Entity
{        
    public virtual int Id { get; set; }
    public virtual Broker Broker { get; set; }
    public virtual string Name { get; set; }
    public virtual string NickName { get; set; }
    public virtual string AccountNumber { get; set; }
    public virtual Currency Currency { get; set; }
    public virtual AccountType AccountType { get; set; }
    public virtual bool IsActive { get; …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate enums

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

使用PowerShell返回环境变量的值

我在变量中有一个环境变量的名称,我想得到该值.我怎么做?我试过了:

PS C:\Users\Joe> $v="USERDOMAIN"
PS C:\Users\Joe> "$env:$v"
At line:1 char:2
+ "$env:$v"
+  ~~~~~
Variable reference is not valid. ':' was not followed by a valid variable name character. Consider using ${} to
delimit the name.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : InvalidVariableReferenceWithDrive

PS C:\Users\Joe> "$env:$($v)"
At line:1 char:2
+ "$env:$($v)"
+  ~~~~~
Variable reference is not valid. ':' was not followed by a valid variable name character. Consider using ${} to
delimit the name.
    + …
Run Code Online (Sandbox Code Playgroud)

powershell

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

我可以将其重写为lambda表达式吗?

我的代码中有一些逻辑,我想知道是否有更好的重写方法.我有两个用户定义的服务器对象(serverA和serverB),如果它们都是enum ServerType Web或者我想继续Database.

目前的代码很笨拙:

if((serverA.ServerType == ServerType.Web || serverA.ServerType == ServerType.Database) && (serverB.ServerType == ServerType.Web || serverB.ServerType == ServerType.Database))
{
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

我正在以优雅简洁的方式撰写.

c# lambda

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

如何在FormView控件中绑定EditItemTemplate中的dropdownlist?

使用Visual Web Developer Express 2010和ASP.NET 4.0.

我有一个FormView,我想从数据库中设置一个默认值.我无法将其绑定到数据库中的值.我的FormView看起来像这样:

<asp:FormView 
ID="frmOrderDetails" 
DataSourceID="sdsFormOrderDetails" 
runat="server" 
DataKeyNames="orderId">

<EditItemTemplate>
    <h3>Edit Order Details</h3>

    <asp:Label ID="lblStrategy" Text="Strategy:" AssociatedControlID="ddlStrategies" runat="server"  />
    <asp:DropDownList SelectedValue='<%# Bind("strategyId") %>'
    ID="ddlStrategies" 
    runat="server" 
    DataTextField="strategy" 
    DataValueField="strategyId" 
    DataSourceID="sdsStrategies"
     />

    <asp:LinkButton
    id="lnkUpdate"
    Text="Update Order"
    CommandName="Update"
    Runat="server" />
    |
    <asp:LinkButton
    id="lnkCancel"
    Text="Cancel"
    CommandName="Cancel"
    Runat="server" />

</EditItemTemplate>
</asp:FormView>

<asp:SqlDataSource ID="sdsFormOrderDetails" runat="server" 
    ConnectionString="<%$ ConnectionStrings:LocalSQLServer %>" 
    ProviderName="<%$ ConnectionStrings:LocalSQLServer.ProviderName %>"  
    SelectCommand="usp_GetOrderDetails" SelectCommandType="StoredProcedure" 
    UpdateCommand="usp_UpdateOrder" UpdateCommandType="StoredProcedure">
    <SelectParameters>
        <asp:ControlParameter Name="orderId" ControlID="grdOrders" PropertyName="SelectedDataKey.Value" />
    </SelectParameters>
    <UpdateParameters>
        <asp:ControlParameter Name="orderId" ControlID="grdOrders" />
    </UpdateParameters>
</asp:SqlDataSource>                     

<asp:SqlDataSource ID="sdsStrategies" runat="server"
    ConnectionString="<%$ ConnectionStrings:LocalSQLServer …
Run Code Online (Sandbox Code Playgroud)

asp.net data-binding formview drop-down-menu

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

对方法重载感到困惑

我正在使用.NET 4.0与ASP.NET 4.0和C#(那将是C#4.0?).

我想在我的SQL Server数据库中插入一些数据,我有一个这样的方法来处理这个:

public int InsertTrade(
    string symbol,
    string tradeSetupId,
    int tradeTypeId,
    decimal lotsPerUnit,
    string chartTimeFrame,
    int tradeGrade,
    int executionGrade,
    int MFEPips,
    int MAEPips,
    decimal pctAccountRisked
    )
{
    SqlCommand cmd = new SqlCommand("usp_InsertTrade");
    cmd.Parameters.AddWithValue("@symbol", symbol);
    cmd.Parameters.AddWithValue("@pctAccountRisked", pctAccountRisked);
    cmd.Parameters.AddWithValue("@tradeSetupId", tradeSetupId);
    cmd.Parameters.AddWithValue("@lotsPerUnit", lotsPerUnit);
    cmd.Parameters.AddWithValue("@tfCode", chartTimeFrame);
    cmd.Parameters.AddWithValue("@MAEPips", MAEPips);
    cmd.Parameters.AddWithValue("@MFEPips", MFEPips);
    cmd.Parameters.AddWithValue("@tradeGrade", tradeGrade);
    cmd.Parameters.AddWithValue("@executionGrade", executionGrade);
    return (InsertData(cmd, "trade"));
}
Run Code Online (Sandbox Code Playgroud)

有几个非必填字段:tradeGrade,executionGrade,MFEPips,MAEPips.usp_InsertTrade存储过程将这些可选参数公开为NULLable.在C#中编写代码的最佳方法是什么?我正在学习编程,所以如果能提供最佳实践指导,那就太棒了.

以下是usp_InsertTrade的存储过程参数:

CREATE procedure [dbo].[usp_InsertTrade]
@symbol char(6),
@tradeSetupId varchar(10),
@tradeTypeId int,
@lotsPerUnit decimal(18,1),
@chartTimeFrame varchar(5),
@tradeGrade smallint = NULL,
@executionGrade smallint = NULL, …
Run Code Online (Sandbox Code Playgroud)

c# optional-parameters

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

在数组中按顺序调用一组函数

我想创建一些函数名称数组,然后根据传递给我的脚本的参数调用它们.这可能吗?在下面的粗略示例中,如果我2作为参数传入脚本,我希望按顺序$twoFuncs调用函数列表.

param ($whichFuncs)
Function a{ Write-Host "Executing function a" }
Function b{ Write-Host "Executing function b" }
Function c {Write-Host "Executing function c" }
$twoFuncs = @("a","b")
$threeFuncs = @("c","b","a")

if($whichFuncs -eq 2)
{
    # execute functions a + b
}
Run Code Online (Sandbox Code Playgroud)

powershell

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

如何在 T-SQL 中生成两个日期之间的分钟间隔?

我有一张开始时间和结束时间的表。我需要以分钟为单位生成这两个日期之间的间隔表。以下是一些示例数据:

declare @intervalMinutes int = 10
declare @myDates table (
myId int primary key identity,
startTime datetime,
endTime datetime
)

insert @myDates (startTime, EndTime) values ('2016-07-10 08:00','2016-07-10 09:00')
insert @myDates (startTime, EndTime) values ('2016-07-12 10:00','2016-07-12 12:00')
insert @myDates (startTime, EndTime) values ('2016-07-14 12:30','2016-07-14 14:30')
Run Code Online (Sandbox Code Playgroud)

我想看到的是每个myId时间间隔的一组日期@intervalMinutes

所以,如果我们@intervalMinutes设置为10,那么我看到第一行之间的6个日期的列表2016-07-10 08:00,并2016-07-10 09:00在10个分钟为增量。

t-sql sql-server sql-server-2014

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

我的正则表达式验证 html 输入中的模式有什么问题?

我的网站上有一个输入框,我想验证它是否包含 4 到 30 个字母数字字符或 . _ -(点、下划线、连字符)。

例如,这些是有效的:

  • 你好-
  • 再见23_.sd

无效:

  • 无特价%
  • 这有一个空间

在我的 html 中我有这一行:

<input id="handletext" type="text" spellcheck="false" pattern="^[\w-\.]{4,30}$" maxlength="30" />
Run Code Online (Sandbox Code Playgroud)

当我在最新的 Chrome 中加载页面时,调试器中出现错误:

模式属性值 ^[\w-.]{4,30}$ 不是有效的正则表达式:未捕获语法错误:无效的正则表达式:/^[\w-.]{4,30}$/:无效的字符类。

有什么想法我的模式有什么问题吗?

html regex

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

为什么我的内部数组没有被反序列化?

我有一些JSON,我想反序列化为Objects.

我试图这样做,但我只得到一些反序列化的JSON,vin和vout JSON是0或null.我究竟做错了什么?

Transaction t = JsonConvert.DeserializeObject<RPCResponse<Transaction>>(json).result;
Run Code Online (Sandbox Code Playgroud)

JSON:

{
    "result": {
        "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d0104ffffffff0100f2052a0100000043410496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858eeac00000000",
        "txid": "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098",
        "hash": "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098",
        "size": 134,
        "version": 1,
        "locktime": 0,
        "vin": [
            {
                "coinbase": "04ffff001d0104",
                "sequence": 4294967295
            }
        ],
        "vout": [
            {
                "value": 50.00000000,
                "n": 0,
                "scriptPubKey": {
                    "asm": "0496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858ee OP_CHECKSIG",
                    "hex": "410496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858eeac",
                    "reqSigs": 1,
                    "type": "pubkey",
                    "addresses": [
                        "12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX"
                    ]
                }
            }
        ],
        "blockhash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048",
        "confirmations": 563356,
        "time": 1231469665,
        "blocktime": 1231469665
    },
    "error": null,
    "id": "getrawtransaction"
}
Run Code Online (Sandbox Code Playgroud)

调试器中的输出如下所示:

在此输入图像描述

我的类看起来像这样:

public class RPCResponse<T>
{
    public T result …
Run Code Online (Sandbox Code Playgroud)

c# json json.net visual-studio-2017

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