簡體   English   中英

如何轉換查詢結果?

[英]How to transform query results?

我需要將字符串查詢轉換為 int 進行評估。 我進展順利還是存在另一種方式來做到這一點?

這是代碼的摘錄。 是否可以轉換結果?

代碼:

string query = "SELECT Movie.Code FROM Movie WHERE Movie.Code = @code";

int i = 0;
i = int.Parse(query);

using (SqlCommand cmd = new SqlCommand(query))
{
    cmd.Connection = con;
    con.Open();

    using (SqlDataReader sdr = cmd.ExecuteReader())
    {
        string R1 = "OK";

        if (sdr.Read())
        {
            if (i > 0)
            {
                Re1 =  "OK";
            }
            else
            {
                 Re1 = "Fail";
            }
        }

        return Re1;
    }
}

您正在嘗試在實際檢索結果之前解析查詢。

i = int.Parse(query);

您可以執行類似的操作來讀取cmd.ExecuteReader()命令的結果。

if (reader.HasRows) {
        while (reader.Read())
        {
           if (reader.GetInt32(0) > 0)
           {
              Re1 =  "OK";
           }
           else {
              Re1 = "Fail";
           }
        }
    }
    else {
        Console.WriteLine("No rows found.");
    }

如果您只對(單個)記錄的存在感興趣,您可以查詢countExecuteScalar

string query = "SELECT COUNT(Movie.Code) FROM Movie WHERE Movie.Code = @code";

int i = 0;

using (SqlCommand cmd = new SqlCommand(query))
{
    cmd.Connection = con;
    con.Open();

    i = (Int32)cmd.ExecuteScalar();

    if(i > 0)
    {
        // OK
    }
    else
    {
        // Fail
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM