C# Dwa zapytania MS SQL vs zapis do pliku XML

0

Program łączy się z bazą danych i zapisuje jej zawartość do pliku XML.
Aby wybrać pewne dane z tabelax muszę się z nią łączyć dwa razy.

            SqlDataAdapter daAuthors
= new SqlDataAdapter("SELECT dane1 as 'KOD' from tabelax where numer = '0'", objConn);

            SqlDataAdapter daAuthors2
= new SqlDataAdapter("SELECT dane2 from tabelax WHERE  cos = '2033')", objConn);

można to jakoś uprościć?


            string sConnectionString;
            sConnectionString = "Data Source=serwer;Initial Catalog=test;Persist Security Info=True;User ID=uzytkownik; Password=;";
            SqlConnection objConn
            = new SqlConnection(sConnectionString);
            objConn.Open();
   

            SqlDataAdapter daAuthors
= new SqlDataAdapter("SELECT tabelax as 'KOD' from karty where numer = '0'", objConn);

            SqlDataAdapter daAuthors2
= new SqlDataAdapter("SELECT tabelax WHERE  cos = '2033')", objConn);




            DataSet ds = new DataSet("Invoice");

      
            daAuthors.Fill(ds, "InvoiceHeader");

            daAuthors2.Fill(ds, "InvoiceHeader2");

            dataGridView1.DataSource = ds;
            
            ds.WriteXml(@"c:\test.xml");
            dataGridView1.DataSource = ds;

            objConn.Close();

0

Można w ten sposób:

string sConnectionString;
sConnectionString = "Data Source=serwer;Initial Catalog=test;Persist Security Info=True;User ID=uzytkownik; Password=;";
SqlConnection objConn = new SqlConnection(sConnectionString);
objConn.Open();
 
SqlDataAdapter daAuthors = new SqlDataAdapter("SELECT tabelax as 'KOD' from karty where numer = '0'; SELECT dane2 from tabelax WHERE  cos = '2033'", objConn);
 
DataSet ds = new DataSet("Invoice");
 
daAuthors.Fill(ds, "InvoiceHeader");
 
dataGridView1.DataSource = ds;
 
ds.WriteXml(@"c:\test.xml");
dataGridView1.DataSource = ds;
 
objConn.Close();
0
neves napisał(a):

Można w ten sposób:

string sConnectionString;
sConnectionString = "Data Source=serwer;Initial Catalog=test;Persist Security Info=True;User ID=uzytkownik; Password=;";
SqlConnection objConn = new SqlConnection(sConnectionString);
objConn.Open();
 
SqlDataAdapter daAuthors = new SqlDataAdapter("SELECT tabelax as 'KOD' from karty where numer = '0'; SELECT dane2 from tabelax WHERE  cos = '2033'", objConn);
 
DataSet ds = new DataSet("Invoice");
 
daAuthors.Fill(ds, "InvoiceHeader");
 
dataGridView1.DataSource = ds;
 
ds.WriteXml(@"c:\test.xml");
dataGridView1.DataSource = ds;
 
objConn.Close();

Ale wtedy dwa zapytania ładują mi się do daAuthors. A jakbym chciał połączyć się dana tabelą w bazie danych zapytaniem "SELECT tabelax as 'KOD' from karty where numer = '0';" i potem:
daAuthors.Fill(ds, "kolumna1 z tabeli tableax");
daAuthors.Fill(ds, "kolumna5 z tabeli tableax");

jedni zapytanie do tabeli i potem wyciąganie z niej odpowiednich kolumn z warunkiem where

1 użytkowników online, w tym zalogowanych: 0, gości: 1