标签: sqldatareader

如果声明 - 将datareader值与datetime进行比较

我希望你们能解决我遇到的一个小问题.在尝试检查datareader值是否小于指定的dateTime值并需要一些帮助时,我遇到了一些错误.

DateTime feedate = new DateTime(2013,09,01);
if (rsData["M_Start"] != DBNull.Value) & (Convert.ToDateTime(rsData["M_Start"]).ToString("yyyy/mm/dd") < feedate)
Run Code Online (Sandbox Code Playgroud)

所以上面是我所拥有的,我得到的错误是'唯一的赋值调用增量递减和新的对象表达式可以用作语句'消息.

我有点难过,因为C#对我来说还是新手,所以任何帮助都表示赞赏!

谢谢.

c# if-statement sqldatareader

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

while (reader.Read()) 会自动关闭吗?

通常,当我用 C# 编码时,我要么采用SqlDataReader以下两种方式之一编写:

reader.Read();

if (reader.HasRows)
{
    // Code here
}

reader.Close();
Run Code Online (Sandbox Code Playgroud)

或者:

while (reader.Read())
{
    // Code here
}
Run Code Online (Sandbox Code Playgroud)

首先,我打开SqlDataReader并关闭它。第二个我只是reader.Read()在 while 循环中被调用。

我的问题是:reader.Read()读取所有数据后调用是否会自行关闭?或者我还应该打电话吗reader.Close()

c# sqldatareader

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

如何在C#中使用SqlDataReader读取多行和多列

我需要知道如何获取SqlDataReaderC# 中使用的查询的多行和多列返回的值。通过表返回的数据:

请参阅此处表格的结果

我想在标签中显示所有这些。这是我到目前为止的代码:

try
{
    SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
    connection.Open();

    string query = ("select cardname,cardnumber,expiry,cardballance from vwallet where username='" + uname + "'");

    SqlCommand cmd = new SqlCommand(query, connection);
    SqlDataReader reader = cmd.ExecuteReader();

    while (reader.Read())
    {
         //cardname = reader[0].ToString();
         //cardnumber = reader[1].ToString();
         //expiry = reader[2].ToString();
         //cardballance = reader[3].ToString();
         reader.
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:我想将查询返回的结果(即卡名、卡号、到期日和卡余额)显示到标签中。

我目前的理解是,我编写的代码将仅读取一行的列并分配给变量(已在代码中声明,而不是在此处粘贴声明)。

如何读取从上表返回的所有数据?

c# sql-server sqldatareader

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

.NET DataReader和SQL连接

string query = 
    "SELECT * FROM table1, table2 WHERE table1.Id = table2.fId";
...
using(IDataReader dataReader = 
    db.ExecuteReader(CommandType.Text, query))
..
string value = dataReader["table2.field"]; //dies
Run Code Online (Sandbox Code Playgroud)

我目前正在编写一些.NET代码,它涉及执行连接查询,然后使用DataReader访问返回的数据.我想知道是否可以使用某种前缀表示法访问返回行中的字段(参见上面的示例),而不必使用序号位置来访问行中的值(在两个表都包含重叠字段的情况下)名)?

.net sql sqldatareader

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

SqlDataReader.Read()总是返回false

我有以下情况:

using (SqlConnection conexao = new SqlConnection(ConnectionString))
{
    SqlCommand comando = new SqlCommand(query, conexao);
    comando.Parameters.AddWithValue("id", idUsuario);
    conexao.Open();
    SqlDataReader reader = comando.ExecuteReader(CommandBehavior.SingleRow);
    if (reader.Read())
    {
        Hydrate(out entity, reader);
    }
}
Run Code Online (Sandbox Code Playgroud)

那么,如果reader包含有效结果HasRows == true,那么reader.Read()应该返回true,对吗?

嗯,它不适合我.我不知道发生了什么,因为Hydrate(out entity, reader);线路永远不会被击中.

有人可以帮我理解这个吗?

谢谢!

.net sqldatareader

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

.Net SqlDataReader Item是Null [VB]

好的,这很奇怪.今晚我在为公司网站添加功能时遇到了这个问题.

我正在构建一个自定义日历控件,用于查询我们的数据库以显示公司事件.这是情况,EndDate存储了一个值,并且在开发系统上,其中一个事件具有NULL值.没什么大不了的,因为它只是一个测试系统,但在尝试使用它之前还要检查安全方面.我认为以下代码可行:

While dr.Read()
  corporateTable.Rows.Add(New Object() { _
    Convert.ToDateTime(dr("EventBeginDate")) _
    , IIf(dr("EventEndDate") Is DBNull.Value, Convert.ToDateTime(dr("EventBeginDate")).AddDays(1), Convert.ToDateTime(dr("EventEndDate"))) _
    , Convert.ToString(dr("EventType")) _
    , Convert.ToString(dr("EventDescription")) _
    , Convert.ToString(dr("EventMessage")) _
  })
End While
Run Code Online (Sandbox Code Playgroud)

但它没有,我仍然得到Object cannot be cast from DBNULL错误.所以我考虑过它并提出了这个成功运行的代码,虽然我不喜欢它并认为它很难看.

While dr.Read()
  Dim column As Integer = 0
  While column < dr.FieldCount - 1
    If dr.GetName(column) = "EventEndDate" Then
      Exit While
    End If

    column += 1
  End While
  corporateTable.Rows.Add(New Object() { _
    Convert.ToDateTime(dr("EventBeginDate")) _
    , IIf(dr.IsDBNull(column), Convert.ToDateTime(dr("EventBeginDate")).AddDays(1), dr.Item(column)) _ …
Run Code Online (Sandbox Code Playgroud)

.net vb.net null sqldatareader

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

Datareader不显示第一行

我循环浏览我的数据库以显示玩家与之关联的联赛列表.如果玩家不是任何联赛的成员,则会显示一条消息告诉他们.

这是代码

if (dReader.Read())
{          
    while (dReader.Read())
    {
        usersLeagues.Text += "<li class=\"li-myLeagues\"><a  href=\"leagueDetails.aspx?leagueID=" + (dReader["leagueID"].ToString()) + "\">" + (dReader["leagueName"].ToString()) + "</a></li>";
    }
}
else
{
    usersLeagues.Text = "You are currently not a part of any leagues";
}
dReader.Close();
conn.Close();
Run Code Online (Sandbox Code Playgroud)

问题是数据阅读器没有显示查询中的第一个联盟.

知道为什么会这样吗?

c# asp.net datareader sqldatareader

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

.GetInt32()和Convert.ToInt32()之间的区别

我已经找到了一些关于Int32.Parse(),Convert.ToInt32()和Int32.TryParse()之间差异的好处link.

我想知道这三种方法之间有什么区别.GetInt32(),以及.GetInt32()方法应该是首选还是不首选.

c# sql-server asp.net int sqldatareader

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

从数据库中的combobox中连接两列

我试图连接两列但出现问题....我的输出没有显示.

String Query = " SELECT pa_forename , pa_surname FROM [ICPS].[dbo].[parking_attendants] order by pa_forename ";
 SqlConnection conDataBase = new SqlConnection(conString);
 SqlCommand cmdDataBase = new SqlCommand(Query, conDataBase);
 SqlDataReader myReader;
  try
{
  conDataBase.Open();
  myReader = cmdDataBase.ExecuteReader();
 while (myReader.Read())
                {
string pa_forename = myReader["pa_forename " +"," + "pa_surname"].ToString();
 comboBox1.Items.Add(pa_forename);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);

            }
Run Code Online (Sandbox Code Playgroud)

c# sql string sqldatareader

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

SQLDataReader无法引发异常

下面的函数旨在确定查询是否将返回任何行。在SQL中传递的是查询。如果导致错误,则函数应返回false。但是,当SQL =

SELECT TOP 1 [AU_ID] 
       FROM [dat].[model_80av2_v1_2941] 
       WHERE [AU_ID] IS NOT NULL AND convert(int, [AU_ID]) <> [AU_ID]
Run Code Online (Sandbox Code Playgroud)

由于未检测到错误,因此该函数错误地返回true。但是,在SQL Management Studio中执行相同的查询会导致错误:

消息232,级别16,状态3,行3类型int的算术溢出错误,值= -1000000000000000000000000000000000000.000000。

显然,该函数应该返回false,因为值不在int数据范围内,但错误处理未检测到错误。为什么?从其他帖子中,我的理解是SqlDataReader reader = cmd.ExecuteReader()应该导致错误。

private bool GetIfExists(string SQL, out int ErrorNumber, out bool Exists)
{
    bool IsSuccess = true;
    ErrorNumber = 0;
    Exists = false;

    try
    {
        using (SqlConnection cnn = new SqlConnection(_connectionString))
        {
            try
            {
                cnn.Open();

                using (SqlCommand cmd = cnn.CreateCommand())
                {
                    cmd.CommandText = SQL;
                    cmd.CommandTimeout = _commandTimeout;
                    try
                    {
                        using (SqlDataReader reader = …
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server sqldatareader

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

标签 统计

sqldatareader ×10

c# ×7

.net ×4

sql-server ×3

asp.net ×2

sql ×2

datareader ×1

if-statement ×1

int ×1

null ×1

string ×1

vb.net ×1