Отображение изображения командой SQL на c #, asp.net - PullRequest
0 голосов
/ 09 июня 2011

Что не так с моим кодом? почему изображения не показаны? мне нужно назначить этот метод на asp: изображение? если да - как?

public int bla()
{
    SqlConnection connection = new SqlConnection("Data Source=tcp:**.****;Initial Catalog=*****;User ID=****;Password=****;Integrated Security=False;");
    string commandtext = "SELECT Minbuy FROM items";
    SqlCommand command = new SqlCommand(commandtext, connection);
    connection.Open();
    int itemsMin = (int)command.ExecuteScalar();

    string commandtext2 = "SELECT purchaseid FROM purchase";
    SqlCommand command2 = new SqlCommand(commandtext2, connection);
    int purchase = (int)command2.ExecuteScalar();

    if (itemsMin >= purchase)
        image3.Visible = true;
    else
        image4.Visible = true;

    connection.Close();



    return itemsMin;




}

изображения в файле aspx:

     <asp:Image ID="image3"  runat="server" Visible="false" ImageUrl="~/images/V.png" />

     <asp:Image ID="image4"  runat="server" Visible="false" ImageUrl="~/images/X.png" />

Ответы [ 3 ]

1 голос
/ 09 июня 2011

Трудно сказать, не зная, что это за данные!

Диким предположением будет то, что перед строкой if (itemsMin >= purchase).

создается исключение.

Моим первым шагом будет регистрация выходных данных каждого оператора sql, а также добавление ведения журнала, если в блоке try catch finally выдается исключение.

Например:

    public int bla()
    {
        int itemsMin = -1;
        try
        {
            SqlConnection connection = new SqlConnection("Data Source=tcp:**.****;Initial Catalog=*****;User ID=****;Password=****;Integrated Security=False;");
            string commandtext = "SELECT Minbuy FROM items";
            SqlCommand command = new SqlCommand(commandtext, connection);
            connection.Open();
            itemsMin = (int)command.ExecuteScalar();

            string commandtext2 = "SELECT purchaseid FROM purchase";
            SqlCommand command2 = new SqlCommand(commandtext2, connection);
            int purchase = (int)command2.ExecuteScalar();

            if (itemsMin >= purchase)
                image3.Visible = true;
            else
                image4.Visible = true;

            connection.Close();
        }
        catch (System.Exception ex)
        {
            System.Diagnostics.Trace.WriteLine(ex);
        }
        return itemsMin;
    }
0 голосов
/ 09 июня 2011

при первом делает изображения видимыми в true и проверяет, видимо ли оно в нормальной форме, если это так, делайте видимость в true путем жесткого кодирования, а не путем выбора из sql, и если этот шаг пройден, то sql возвращает неверное значение

0 голосов
/ 09 июня 2011

Попробуйте этот метод:

public int bla()
{
   try{
     //your code
   }catch(Exception ex){
      System.Diagnostics.Debugger.Break();
      Console.WriteLine(ex.Message);
      return -1;
   }
}

Когда запускается отладчик, в вашем коде есть ошибка.Наведите указатель мыши на ex (в visual studio), чтобы увидеть больше информации об ошибке

...