小编Tim*_*Tim的帖子

如何检查SQLDataReader是否没有行

我试图弄清楚如何检查我SqlDataReader是否为空或没有行(意味着保留不存在),然后显示一个消息框.出于某种原因,当我调试一次它遇到While dr.Read())代码时,如果它没有返回结果,它就会退出.

我已经尝试将此代码放在几个不同的位置,但如果没有返回任何记录,似乎都没有触发消息框

if (dr.GetValue(0) == DBNull.Value || !dr.HasRows)
{
    MessageBox.Show("Reservation Number Does Not Exist","Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else
{
    (read records)
}   
Run Code Online (Sandbox Code Playgroud)

我的代码......

try
{
   using (SqlConnection con = new SqlConnection(connectionString))
   {
      using (SqlCommand cmd = con.CreateCommand())
      {
         con.Open();
         cmd.CommandText = "usp_StoredProcedureName";
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.AddWithValue("@regnum", regnumber);

         using (SqlDataReader dr = cmd.ExecuteReader())
         {
             //Loop through all the rows, retrieving the columns you need.
             while (dr.Read())
             {
                 lblConf.Text = dr.GetValue(0).ToString();
                 lblName.Text = dr.GetValue(1).ToString() + "," + …
Run Code Online (Sandbox Code Playgroud)

c# sqldatareader

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

按值和引用传递数组

这些是来自ac#book的例子,我正在阅读这个例子实际上正在做的一点点麻烦,想要一个解释来帮助我进一步了解这里发生的事情.

        //creates and initialzes firstArray
        int[] firstArray = { 1, 2, 3 };

        //Copy the reference in variable firstArray and assign it to firstarraycopy
        int[] firstArrayCopy = firstArray;

        Console.WriteLine("Test passing firstArray reference by value");


        Console.Write("\nContents of firstArray " +
            "Before calling FirstDouble:\n\t");

        //display contents of firstArray with forloop using counter
        for (int i = 0; i < firstArray.Length; i++)
            Console.Write("{0} ", firstArray[i]);

        //pass variable firstArray by value to FirstDouble
        FirstDouble(firstArray);

        Console.Write("\n\nContents of firstArray after " +
            "calling FirstDouble\n\t");

        //display contents …
Run Code Online (Sandbox Code Playgroud)

c# arrays

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

c#获取并设置访问者日期时间

我收到在我的属性中检测到无法访问的代码.这适用于常规字符串字段,但不适用于DateTime数据类型.

private DateTime m_RenewalDate;
    public DateTime M_RenewalDate
            {
                get { return m_RenewalDate != null ? m_RenewalDate : DateTime.MinValue; }
                set { m_RenewalDate = value; }
            }
Run Code Online (Sandbox Code Playgroud)

这是我的sqldatareader

reader.GetDateTime(reader.GetOrdinal("M_RENEWALDATE"))
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

IE没有捕获表单提交的Enter键

我有一个简单的表单,其中有一个文本框将数据传递给SQL,我希望它在用户点击回车键时提交.

在Firefox中,这非常有效.用户输入数字命中输入返回结果.

但是在IE 8和IE 9中,这不起作用.

<form id="form1" runat="server" accept="cmdclick" 
style="background-position: center; background-image: url('BG.gif'); background-repeat: no-repeat;">
<div style="text-align: center">
<br /><br /> <br /><br /><br /> <br /><br /><br />
    <asp:TextBox ID="txttrack" runat="server" Height="20px" 
        Width="175px" Wrap="False"></asp:TextBox>  
    <asp:Button ID="cmdclick" runat="server" 
        CommandName="cmdclick" BackColor="White" BorderStyle="None"  />
Run Code Online (Sandbox Code Playgroud)

我不确定会导致这种情况.我看到很多人使用JavaScript来解决问题,但我不知道如何编写JavaScript代码.

怎么做(最好没有JavaScript)?

vb.net asp.net webforms

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

VB Gridview选择错误的行进行编辑

您好我有一个搜索框,当我搜索记录时,记录显示很好但是一旦我点击gridview上的编辑页面进行回发并且所有记录显示备份,并选择第一条记录进行编辑.当我点击编辑所有记录不再显示时,如何禁用此帖子或进行此操作?

VB.CodeBehind

Protected Sub btnClear_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnClear.Click
    txtSearch.text = ""
    sourcegridview.DataBind()

End Sub

Protected Sub btnSearch_Click(sender As Object, e As System.EventArgs) Handles btnSearch.Click
    SqlDataSource1.SelectCommand = "select * from Stg_Employee_All_Info where Name like '%" & txtSearch.Text & "%'"
    SqlDataSource1.DataBind()
End Sub
Run Code Online (Sandbox Code Playgroud)

Gridview代码

<asp:GridView ID="sourcegridview" runat="server" AllowPaging="True" 
        AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC" 
        BorderStyle="None" BorderWidth="1px" CellPadding="4" 
        DataSourceID="SqlDataSource1" Width="422px" AllowSorting="True" 
        DataKeyNames="Row">
        <Columns>
            <asp:BoundField DataField="Row" HeaderText="Row"  
                SortExpression="Row" ReadOnly="True" />
            <asp:BoundField DataField="Name" HeaderText="Name" ReadOnly="True" 
                SortExpression="Name" />
            <asp:BoundField DataField="Dept" HeaderText="Dept" ReadOnly="True" 
                SortExpression="Dept" …
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net

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

使用get/set asp.net c#theres太多属性

我用来创建一个属性类,其中我将包括我的所有字段,并且必须编写所有get/set属性,然后有另一个Database类,我将进行所有数据库调用.

Properties Class
    private int _intCard
    public int IntCard
    {
        set { _intcard = value;}
    }
Constructor here
Run Code Online (Sandbox Code Playgroud)

现在这不是正确的方法,因为我将处理超过120个属性,并且似乎非常耗费时间来编写每个属性.我需要为某些属性添加验证是我选择这种方式的原因,我可以在set方法中验证它.任何人都可以提出一种替代方法,我可以调查以完成相同的结果.

********************---------------*******************
Run Code Online (Sandbox Code Playgroud)

所以给出评论,我理解我的设计是有缺陷的,这是我想到的问题.我知道如何解决这个问题,但不知道这是否是正确的解决方法.我搜索了对象设计原则并阅读了它,但需要更多时间来掌握它教我的内容.现在我想知道这种方法是否正确

我跟踪申请人姓名,地址,电话,传真号码,手机,altphone,altaddress,配偶相同,然后是孩子,参考,公司信息.....等等

我不会撒谎我不理解抽象类,为了实现这个,如果这是我应该采取的方法,我将花更多的时间来学习,但现在希望这是合适的.

属性类如apply.cs,applicantspouse.cs,applicantcontactinfo.cs,appreferences.cs ......

这是否与我应该做的一致?

再次感谢

c# asp.net get set

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

标签 统计

asp.net ×4

c# ×4

vb.net ×2

arrays ×1

get ×1

set ×1

sqldatareader ×1

webforms ×1