2014-11-10 6 views
-1

Я пытаюсь написать базовую программу C#, которая считывает данные из SQL и записывает результаты по 3 текстовым полям и метке. Вот мой код;Использование инструкции if в C# для SQL

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.SqlClient; 


namespace PLAKA 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=TESTDB;Integrated Security=True"); 
      SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Project where ID = '" + textBox1.Text + "'", con); 
      DataTable dt = new DataTable(); 
      sda.Fill(dt); 
      textBox1.Text = dt.Rows[0][0].ToString(); 
      textBox2.Text = dt.Rows[0][1].ToString(); 
      textBox3.Text = dt.Rows[0][2].ToString(); 
      textBox4.Text = dt.Rows[0][3].ToString(); 


      SqlDataAdapter oks = new SqlDataAdapter("SELECT * FROM Project where Status = 'YES'", con); 

      if (oks) 
      { 
       label1.Text = "POSITIVE"; 
      } 
      else 
      { 
       label1.Text = "NEGATIVE"; 

      } 
     } 
    } 
} 

Я пишу идентификационный номер и увидеть информацию этого ID на текстовых полях в моей первой части моего кода, и это работает прекрасно

Все мне нужно, что, когда значение в «Статусе» сырой «ДА», моя программа пишет «ПОЗИТИВНО», другая пишет «НЕГАТИВНО» на ярлыке1

Между тем информация о статусе записывается в текстовое поле3.

Для этого кода я получил сообщение об ошибке: «Ошибка 1 Не удается неявно преобразовать тип„System.Data.SqlClient.SqlDataAdapter“до„BOOL“

Как я могу решить эту проблему

+3

вы не должны проверять 'dt.Rows [0] [ "Status"]'? выдавший секундочку В запросе ond появятся записи, которые не соответствуют вашему исходному идентификатору. –

+0

строка статуса для текстового поля - это dt.Rows [0] [2] – user3218867

+0

Вам нужно называть 'Fill()' в sqlDataAdapter 'oks', вы еще не вернули какие-либо данные. – markpsmith

ответ

0

Ваш ? Если условие неправильно.

использовать это.

SqlDataAdapter oks = new SqlDataAdapter("SELECT * FROM Project where Status = 'YES'", con); 

oks.fill(dataSet) 

if (dataSet.Tables["Table"].Rows.Count > 1) 
{ 
    label1.Text = "POSITIVE"; 
    } 
    else 
    { 
    label1.Text = "NEGATIVE"; 

    } 
+0

Я обновил свой код, как вы сказали, но теперь я получил эти коды ошибок. Ошибка 2 'System.Data.DataSet' не содержит определения для «таблиц» \t и Error 1 'System.Data.DataSet' является «типом», но используется как «переменная» – user3218867

+0

Проверьте мой обновленный результат. –

+0

такой же здесь. есть проблемы с командами DataSet и Tables в файле oks.fill (DataSet) и if (DataSet.Tables ....) – user3218867

Смежные вопросы