Wyświetlanie z bazy danych SQL

0

Witam, od razu ostrzegam, że jestem całkowicie zielony z tematu programowania poza podstawami liźniętymi na studiach (informatyka nie była moim kierunkiem).
Otóż potrzebujemy w pracy zrobić plik otwierany w przeglądarce, który będzie się komunikował z komputerem przy stanowisku montażowym i odczytywał z bazy danych informacje wyświetlając je w owej przeglądarce np. w postaci tabeli.
Trochę poczytałem ogólnie jak to powinno wyglądać ale moje braki z samego programowania uniemożliwiają mi napisanie gotowego kodu.

Więc tak, komputer jest w sieci zakładowej (IP znam). Na nim jest zrobiona bd w SQL Express 2012 (nazwę bd znam, login i hasło znam, nazwę komputera w sieci znam).
Z tego co wyczytałem to można zrobić np stronę html która będzie pobierać dane za pomocą php z bd sql i zwracać to w postaci tabeli.
Jeśli źle kombinuję to proszę o podpowiedzi. W html jakąś tam prostą stronę może i jestem w stanie zrobić ale brak mi ogólnego zrozumienia php i sql żeby to współpracowało.

Znalazłem i przerobiłem coś takiego :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Serwis ABC</title>
<meta http-equiv=content-type content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-Language" content="pl">
</head>

<body>
<?php 

////////////////////////////////////////////////////////////
//Przyk³ad kodu wy¶wietlaj±cego dane z bazy mysql
//Wymagania
//  1. Zalozona baza mysql na serwerze
//  2. Tabela
////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////
//Definicje zmiennych

//adres ip serwera mysql który zawiera bazê danych i tabele
$adres_ip_serwera_mysql_z_baza_danych = '192.168.0.99';

//nazwa bazy danych z tabel±
$nazwa_bazy_danych = 'U-3FSRFFSQHAJB6\SQLEXPRESS';

//nazwa uzytkownika bazy danych $nazwa_bazy_danych
$login_bazy_danych = 'U-3FSRFFSQHAJB6\Administrator';

//haslo uzytkownika bazy danych $nazwa_bazy_danych
$haslo_bazy_danych = 'XXX';

////////////////////////////////////////////////////////////
//Kod programu

//Ustanawiamy po³±czenie z serwerem mysql
if ( !mysql_connect($adres_ip_serwera_mysql_z_baza_danych,$login_bazy_danych,$haslo_bazy_danych) ) {
   echo 'Nie moge polaczyc sie z baza danych';
	 exit (0);
}
//Wybieramy baze danych na serwerze mysql ktora zawiera tabele
if ( !mysql_select_db($nazwa_bazy_danych) ) {
   echo 'Blad otwarcia bazy danych';
	 exit (0);
}

//Definiujemy zapytanie pobieraj±ce wszystkie wiersze z wszystkimi
//polami z tabeli
$zapytanie = "SELECT * FROM `PLCData`";
//wykonujemy zdefiniowane zapytanie na bazie mysql
$wynik = mysql_query($zapytanie);

//Wy¶wietlamy w tabeli html dane pobrane 
//z tabeli
//Najpierw definiujemy nag³ówek tabeli html
echo "<p>";
echo "<table boder=\"1\"><tr>";
echo "<td bgcolor=\"ffff00\"><strong>DATA_MONTAZU</strong></td>";
echo "<td bgcolor=\"ffff99\"><strong>DM_CARIER_OCV</strong></td>";
echo "<td bgcolor=\"ffff00\"><strong>DM_CARIER_NO_OCV</strong></td>";
echo "<td bgcolor=\"ffff99\"><strong>DM_RA1</strong></td>";
echo "</tr>";
//Teraz wy¶wietlamy kolejne wiersze z tabeli
//Pola tabeli pobieramy odwo³uj±c siê do ich 
//numerów jak poni¿ej:
//   0 (DATA_MONTAZU)
//   1 (DM_CARIER_OCV)
//   2 (DM_CARIER_NO_OCV)
//   3 (DM_RA1)
while ( $row = mysql_fetch_row($wynik) ) {
   echo "</tr>";
   echo "<td bgcolor=\"ffff00\">" . $row[0] . "</td>";
   echo "<td bgcolor=\"ffff99\">" . $row[1] . "</td>";
   echo "<td bgcolor=\"ffff00\">" . $row[2] . "</td>";
   echo "<td bgcolor=\"ffff99\">" . $row[3] . "</td>";
   echo "</tr>";
}
echo "</table>";


//Zamykamy po³±czenie z baz± danych
if ( !mysql_close() ) {
   echo 'Nie moge zakonczyc polaczenia z baza danych';
   exit (0);
}

?>
</body> 
</html>

Problem w tym że zwraca mi się takie coś : "screenshot"

7b0f46c2f8.png

Pozdrawiam

0

No a teraz odpowiedz gdzie uruchamiasz ten kod - u siebie na komputerze czy na serwerze z www z zainstalowanym php?

0

Na komputerze w pracy, jest on podłączony do tej samej sieci co komputer na którym stoi serwer sql. Głównie o takie coś mi chodzi żeby to działało na komputerach w tej sieci. Czy robię coś źle ?

0

Masz tam (na swoim komputerze) serwer www i wrzuciłeś swój plik do odpowiedniego folderu na tym serwerze?

Jeśli nie masz serwera http://www.wampserver.com/en/komputerze oraz nie masz php to zainstaluj sobie WAMP http://www.wampserver.com/en/ (jeśli Windows).
To pozwoli Ci na uruchomienie strony www (ze skryptem php), która wyświetli dane pobrane z bazy danych.

0

A czy mogę postawić na komputerze tego stanowiska wraz z serwerem sql serwer www i tam postawić plik php na który będzie można wejść z innych komputerów poprzez sieć w zakładzie ? Tylko co mi jest potrzebne aby taki serwer postawić, sam Wampserver ? I w jaki sposób będzie można odpalić tą stronę przez przeglądarkę, po adresie IP tego komputera ?

0

WAMP to nazwa od pierwszych liter Windows, Apache (www), MySQL (baza), PHP (język skryptowy). Masz tu serwer www, bazę danych (nie potrzeba jeśli masz MSSQL Server), interpreter php (przetwarza kod php).

Nie wchodząc w szczegóły, to jeśli na komputerze będziesz mieć też serwer www z obsługą php, wrzucone do odpowiednich folderów pliki php/html oraz dostęp do bazy danych to po połączeniu się z poziomu przeglądarki www z ip tego serwera będzie można otrzymać jakąś treść (np. stronę www z informacjami z bazy).

Przy takim poziomie nieznajomości tematu jak prezentujesz musisz poświęcić trochę czasu na zdobycie wiedzy lub temat "sprzedać" komuś bardziej obeznanemu z zagadnieniem bo trudno tłumaczyć WSZYSTKO.

0

Odpowiadając, tak wiem, że moja wiedza w tym zakresie jest znikoma bo zacząłem o tym czytać dopiero 2 dni temu ;) problem w tym że to jest mała rzecz i firma nie chce zatrudniać kogoś z zewnątrz, więc albo się z tym uporam sam albo tego po prostu nie będzie (a chcę to ogarnć, bo raz jest to ciekawe, a dwa bardzo ułatwi to pracę). Dziękuję za tą garstkę ogólnych informacji, bardzo mnie to na kierunkowało na chociażby jakie działy czytać.

Sytuacja wygląda tak:

  • Windows Server 2012
  • IIS 8,5
  • PHP7 nts x86
  • Wincache 2.0.0.7-7.0 nts x86
  • MS driver php_sqlsrv_7_nts.dll

To już jest wgrane i działa phpinfo.
Sprawdzałem w cmd : "php -m" i nie wywala błędów extensions więc ogólnie wersje plików pasują.

Jeśli chodzi o kod to chcę użyć takiego :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <html>
 <head>
 <title>Dane DAF F</title>
 <meta http-equiv=content-type content="text/html; charset=iso-8859-2">
 <meta http-equiv="Content-Language" content="pl">
 </head>
 
 <body>
<?php    
$serverName = "Nazwa_Komputera\SQLEXPRESS";   
$uid = "Nazwa_Komputera\Administrator";     
$pwd = "Hasło";    
$databaseName = "PLCData";   
   
$connectionInfo = array( "UID"=>$uid,                              
                         "PWD"=>$pwd,                              
                         "Database"=>$databaseName);   
    
/* Connect using SQL Server Authentication. */    
$conn = sqlsrv_connect( $serverName, $connectionInfo);    
    
$tsql = "DATA_MONTAZU, DM_CARIER_OCV, DM_CARIER_NO_OCV, DM_RA1";    
    
/* Execute the query. */    
    
$stmt = sqlsrv_query( $conn, $tsql);    
    
if ( $stmt )    
{    
     echo "Statement executed.<br>\n";    
}     
else     
{    
     echo "Error in statement execution.\n";    
     die( print_r( sqlsrv_errors(), true));    
}    
    
/* Iterate through the result set printing a row of data upon each iteration.*/    
    
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC))    
{    
     echo "Col1: ".$row[0]."\n";    
     echo "Col2: ".$row[1]."\n";    
     echo "Col3: ".$row[2]."<br>\n";    
     echo "-----------------<br>\n";    
}    
    
/* Free statement and connection resources. */    
sqlsrv_free_stmt( $stmt);    
sqlsrv_close( $conn);    
?>    
 </body> 
 </html>
 

Problem w tym że wchodząc na ten plik wywala mi błąd "html 500"
eliminując część kodu zauważyłem, że błąd się rozpoczyna od funkcji połączenia sqlsrv_connect(), ma ktoś jakiś pomysł co z tym zrobić ?

0

mam włączone zapisywanie errorów w logu ale nic mi nie zapisuje odnośnie tego błędu ... jest w stanie ktoś pomóc ?

0

Wszystko robisz w obrębie tego komputera z Windows Server2012,SQL Server,IIS czy z innego?
Czy jeśli konfigurujesz np. "źródła danych ODBC" to dostaniesz się do tej bazy danych z tymi ustawieniami, z którymi próbujesz dostać się do SQL Servera z poziomu PHP?

0

Mam wrażenie, ze chcesz połączyć się wykorzystując autoryzację windows, a w niej nie przekazuje się użytkownika i hasła. PHP autoryzuje się użytkownikiem, w kontekście którego jest uruchomiony proces PHP.
https://blogs.msdn.microsoft.com/brian_swan/2010/02/10/sql-server-driver-for-php-understanding-windows-authentication/

Co do błędu 500 to musisz go namierzyć ja obstawiam problem z sterownikami do sql servera, sprawdź czy są zaladowane: https://www.iis.net/learn/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php

0

Tak, wszystko robię w obrębie tego jednego komputera: Windows Server2012,SQL Server,IIS.
Skonfigurowałem źródło danych ODBC ale nie z driverem SQL Native Client ale jako SQL Server bo w tym wcześniejszym mi nie wiedziało bazy danych. Następnie komunikacja za pomocą Integrated Windows Authentication i przetestowałem połączenie, jest wszystko ok.
Więc chciałęm to wykorzystać i spróboiwać takiego kodu na pobieranie danych z odbc.

<html>
<body>

<?php
$conn=odbc_connect('TakieTamPolaczenie','Nazwa_komputera\Administrator','Hasło');
if (!$conn)
  {exit("Connection Failed: " . $conn);}
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);
if (!$rs)
  {exit("Error in SQL");}
echo "<table><tr>";
echo "<th>DATA_MONTAZU</th>";
echo "<th>DM_CARIER_OCV</th></tr>";
while (odbc_fetch_row($rs))
  {
  $compname=odbc_result($rs,"DATA_MONTAZU");
  $conname=odbc_result($rs,"DM_CARIER_OCV");
  echo "<tr><td>$compname</td>";
  echo "<td>$conname</td></tr>";
  }
odbc_close($conn);
echo "</table>";
?>

</body>
</html>

 

I znów błąd html 500, zastanawiam się czy to nie przez login i hasło, jeśli baza używa Integrated Windows Authentication czyli loguje się za pomocą loginu i hasła komputera na jakim stoi, to jak to uwzględnić w kodzie żeby się zalogowało w ten sam sposób ?

edit:
Wybacz Panczo, nie odświeżyłem sobie strony tego tematu i nie zauważyłem że napisałeś.
Extension z php_sqlsrv_7_nts.dll jest zainstalowane poprawnie bo nie zwraca błędu(sprawdzałem w cmd).
Jeśli to wina właśnie autoryzacji windows to jak przerobić ten kod żeby się logowało przez nią ?

0

Czytałeś mój post? PHP loguje się w kontekscie użytkownika jakim jest uruchomiony proces, w tych linkach to masz. Błąd 500 jest błędem wewnetrznym serwera, inaczej byś dostał komunikat o braku możliwości połączenia. Zacznij od rozwiązania tego problemu, a nie skupiaj się na zmianie skryptu.

Dodane:

Musisz nadać dostęp dla użytkownika do bazy, takiego jaki odpala php, a musisz trzymac się PHP

0

Ustaw w SQL Serverze autoryzację mieszaną "SQL Server and Windows Authentication mode" i zaloguj się podając nazwę użytkownika "sa" oraz odpowiednie hasło.

0

Skoro to ma działac, to nie wiem czemu zdecydowales się na PHP, w sensie masz wszystko ze stajni microsoftu to uzyj ASP.NET, odpadnie problem z dochodzeniem co jest nie tak z PHP.
Wystarczy jedna strona bez linijki kodu. Stwórz plik np tabelka.aspx:

<%@ Page Language="C#" %>
<html>
<head runat="server">
    <title>Tabelka</title>
</head>
<body>
    <div>
    
      <asp:Repeater ID="Repeater1" runat="server" 
          DataSourceID="DataFromTable">
          <HeaderTemplate>
              <table border=1>
              <tr>
                 <th bgcolor="ffff00">DATA_MONTAZU</th>
                 <th bgcolor="ffff99">DM_CARIER_OCV</th>
                 <th bgcolor="ffff00">DM_CARIER_NO_OCV</th>
                 <th bgcolor="ffff99">DM_RA1</th>
              </tr>
          </HeaderTemplate>

          <ItemTemplate>
          <tr>
              <td bgcolor="ffff00"><%# Eval("DATA_MONTAZU") %></td>
              <td bgcolor="ffff99"><%# Eval("DM_CARIER_OCV") %></td>
              <td bgcolor="ffff00"><%# Eval("DM_CARIER_NO_OCV") %></td>
              <td bgcolor="ffff99"><%# Eval("DM_RA1") %></td>
          </tr>
          </ItemTemplate>


          <FooterTemplate>
              </table>
          </FooterTemplate>
      </asp:Repeater>

      <asp:SqlDataSource 
          ConnectionString="Server=Nazwa_Komputera\SQLEXPRESS;Database=PLCData;Integrated Security=true"
          ID="DataFromTable" runat="server" 
          SelectCommand="SELECT DATA_MONTAZU,DM_CARIER_OCV,DM_CARIER_NO_OCV, DM_RA1 FROM PLCData">
      </asp:SqlDataSource>
    </div>
</body>
</html>

Wgraj do wwwroot i będzie śmigac, albo przynajmniej dostaniesz jasny komunikat co do problemów z logowaniem...

0

Użyłem tego kodu w ASP.net,
zwróciło mi takie coś, przepraszam za brak polskich znaków ale kopiowałem na szybko i zapisałem a ascii.

B³¹d serwera w aplikacji '/'.

Cannot open database "PLCData" requested by the login. The login failed.
Login failed for user 'IIS APPPOOL\DefaultAppPool'. 
  Opis: Podczas wykonywania bie¿¹cego ¿¹dania sieci Web wyst¹pi³ nieobs³ugiwany wyj¹tek. Aby uzyskaæ dodatkowe informacje o b³êdzie i miejscu jego wystêpowania w kodzie, przejrzyj œlad stosu. 

 Szczegó³y wyj¹tku: System.Data.SqlClient.SqlException: Cannot open database "PLCData" requested by the login. The login failed.
Login failed for user 'IIS APPPOOL\DefaultAppPool'.

B³¹d Ÿród³a: 


 Podczas wykonywania bie¿¹cego ¿¹dania sieci Web zosta³ wygenerowany nieobs³ugiwany wyj¹tek. Informacje dotycz¹ce pochodzenia i lokalizacji wyj¹tku mo¿na zidentyfikowaæ przy u¿yciu poni¿szego œladu stosu wyj¹tku.  

Œlad stosu: 



[SqlException (0x80131904): Cannot open database "PLCData" requested by the login. The login failed.
Login failed for user 'IIS APPPOOL\DefaultAppPool'.]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +6564850
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +815
   System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4515
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +84
   System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +53
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +368
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +6592502
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +6592983
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData) +878
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +1162
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +72
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +6596173
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +103
   System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +2102
   System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +116
   System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +1079
   System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +6600667
   System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +233
   System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +278
   System.Data.SqlClient.SqlConnection.Open() +239
   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +292
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +420
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +277
   System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +3319735
   System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource) +374
   System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e) +164
   System.Web.UI.WebControls.Repeater.EnsureDataBound() +159
   System.Web.UI.WebControls.Repeater.OnPreRender(EventArgs e) +20
   System.Web.UI.Control.PreRenderRecursiveInternal() +113
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4297

  


Informacje o wersji: Wersja Microsoft .NET Framework:4.0.30319; Wersja ASP.NET:4.0.30319.34009   

nie rozumiem czemu user 'IIS APPPOOL\DefaultAppPool' ani o co chodzi ...

0

Dlatego proponowałem przejście na asp, jak pisales wiedza którą posiadasz utrudnia poprowadzenie przez "zawiłosci" konfiguracji srodowiska.

Ale do rzeczy dostajesz bład dla logowania iis apppool\DefaultAppPool.
W dużym uproszczeniu serwer iis działa jako usluga w systemie windows (każda usługa autoryzuje się w systemie za pomocą jakiegoś uzytkownika). IIS ma wydzielone pule w ramach których uruchamia procesy do obslugi skryptów asp/php. Te pule mają również sowjego użytkownika, w twoim wypadku jest to IIS APPPOOL\DefaultAppPool. Jako że connectionstring skonfigurowane jest do logowania sie z Autoryzacją Windowsa to uzywa kontekstu procesu z którego jest wywolywany. Stąd user IIS APPPOOL\DefaultAppPool. A chodzi o to że nie może sie zalogowac:

Cannot open database "PLCData" requested by the login. The login failed.
Login failed for user 'IIS APPPOOL\DefaultAppPool'.

Teraz masz do wyburu 2 opcje.

Nadać uprawnienia do logowania się do serwera dla uzytkownika IIS APPPOOL\DefaultAppPool

Lub zmienić w skrypcie logowanie na autoryzacje SQL. Odradzam logowanie na sa, jak ktoś zaproponowal wyżej warto stworzyć użytkownika:

w SQL Server managment studio zaloguj się do serwera z uprawnieniami admin kliknij new query i załóż użytkownika, np. takim skryptem:

USE [master]
GO
CREATE LOGIN [webuser] WITH PASSWORD=N'tajnehaslo', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [PLCData]
GO
CREATE USER [webuser] FOR LOGIN [webuser]
GO
USE [PLCData]
GO
ALTER ROLE [db_datareader] ADD MEMBER [webuser]
GO

a w kodzie strony aspx zmień linijke:
ConnectionString="Server=Nazwa_Komputera\SQLEXPRESS;Database=PLCData;Integrated Security=true"
na:
ConnectionString="Server=Nazwa_Komputera\SQLEXPRESS;Database=PLCData;User ID=webuser;Password=tajnehaslo"

Oczywiście fraza tajnehaslo wymaga podmiany na taka samą wartość w skrypcie i aspx...

0

Działa połączenie :) Została jedna ostateczna rzecz i myślę że będzie działać. bo posiadam w bazie danych PLCData dwie tabele i chciałbym z jednej z nich pobierać dane.
w kodzie mam
ConnectionString="Server=nazwa_komputera\SQLEXPRESS;Database=PLCData;User ID=webuser;Password=hasło"
jak zapisać pobieranie tylko z tej jednej tabeli w Database= ? "PLCData/Tables/dbo.PLC1" ?
w załączniku drzewko bazy i błąd.

0

Musisz rozróżnić połączenie od pobierania danych, czyli połączenie pozostaje bez zmian i wskazuje na bazę danych.
To co pobierasz jest w:
SelectCommand="SELECT DATA_MONTAZU,DM_CARIER_OCV,DM_CARIER_NO_OCV, DM_RA1 FROM PLCData"

Czyli zwykłe zapytanie sql pobierające dane z bazy.

0

Aaa no tak, czyli wystarczy zmienić :
SelectCommand="SELECT DATA_MONTAZU,DM_CARIER_OCV,DM_CARIER_NO_OCV, DM_RA1 FROM PLC1" ? czy dbo.PLC1 ?

0

dobrą praktyka jest dodawanie schematu przed nazwą obiektu. Obie wersje sa prawidłowe.
Aby mieć pewność to w SSMS wybierz new query i puść zapytanie, (nie zapomnij wybrać bazy PLCData z combo na pasku narzędzi) które używasz w select command:

SELECT DATA_MONTAZU,DM_CARIER_OCV,DM_CARIER_NO_OCV, DM_RA1 FROM PLC1

Ważna sprawa jest taka, to nazwy kolumn, bo uzywasz je w reapeterze: <%# Eval("DATA_MONTAZU") %> i one muszą mieć pokrycie w tym co wybierasz w SelectCommand

0

Nie wiem co masz w tabeli PLC1 (ile rekordów) ale dobrze by było ograniczyć ilość zwracanych rekordów poprzez TOP i/lub WHERE.

SELECT TOP 100 DATA_MONTAZU,DM_CARIER_OCV,DM_CARIER_NO_OCV, DM_RA1 FROM PLC1

lub

SELECT DATA_MONTAZU,DM_CARIER_OCV,DM_CARIER_NO_OCV, DM_RA1 FROM PLC1 WHERE DATA_MONTAZU BETWEEN '2016-11-01' AND '2016-11-07' 

(przy dacie możliwe, że będzie konieczna jakaś konwersja)

0

Wszystko działa tak jak chciałem :) ostatnie pytanie czysto kosmetyczne, czy da się użyć jakiejś pętli do nazw zmiennych żeby nie było ich tyle w kodzie ? (chodzi o to że tutaj podałem tylko 4 kolumny z bazy danych a jest ich znacznie więcej) czy jest to raczej nie do obejścia ?

Bo aktualnie kod wygląda tak :

 
<%@ Page Language="C#" %>
<html>
<head runat="server">
    <title>Pobieranie_danych_PLC1</title>
</head>
<body>
    <div>
 
      <asp:Repeater ID="Repeater1" runat="server" 
          DataSourceID="DataFromTable">
          <HeaderTemplate>
              <table border=1>
              <tr>
                 <th bgcolor="ffff00">DATA_MONTAZU</th>
                 <th bgcolor="ffff99">DM_CARIER_OCV</th>
                 <th bgcolor="ffff00">DM_CARIER_NO_OCV</th>
                 <th bgcolor="ffff99">DM_RA1</th>
                 <th bgcolor="ffff00">DM_RA2</th>
                 <th bgcolor="ffff99">DM_RA3</th>
                 <th bgcolor="ffff00">DM_OCV</th>
                 <th bgcolor="ffff99">M6_MOMENT</th>
                 <th bgcolor="ffff00">M6_OBROTY</th>
                 <th bgcolor="ffff99">M10_1_MOMENT</th>
                 <th bgcolor="ffff00">M10_1_OBROTY</th>
                 <th bgcolor="ffff99">M10_2_MOMENT</th>
                 <th bgcolor="ffff00">M10_2_OBROTY</th>
                 <th bgcolor="ffff99">DATA_TESTU</th>
                 <th bgcolor="ffff00">STATUS_CARIER_OCV</th>
                 <th bgcolor="ffff99">STATUS_CARIER_NO_OCV</th>
                 <th bgcolor="ffff00">STATUS_RA1</th>
                 <th bgcolor="ffff99">STATUS_RA2</th>
                 <th bgcolor="ffff00">STATUS_RA3</th>
                 <th bgcolor="ffff99">STATUS_OCV</th>
                 <th bgcolor="ffff00">STATUS_REZ_1</th>
                 <th bgcolor="ffff99">STATUS_REZ_2</th>
                 <th bgcolor="ffff00">STATUS_REZ_3</th>
                 <th bgcolor="ffff99">STATUS_REZ_4</th>
                 <th bgcolor="ffff00">OCV_ON_FLOW</th>
                 <th bgcolor="ffff99">OCV_OFF_FLOW</th>
                 <th bgcolor="ffff00">RA1_DRIVE_MODE_OPEN_BRAKE</th>
                 <th bgcolor="ffff99">RA1_DRIVE_MODE_CLOSE_BRAKE</th>
                 <th bgcolor="ffff00">RA1_DRIVE_MODE_OPEN_RANGE_BRAKE</th>
                 <th bgcolor="ffff99">RA1_DRIVE_MODE_CLOSE_RANGE_BRAKE</th>
                 <th bgcolor="ffff00">RA1_BRAKE_MODE_OPEN_BRAKE</th>
                 <th bgcolor="ffff99">RA1_BRAKE_MODE_CLOSE_BRAKE</th>
                 <th bgcolor="ffff00">RA1_BRAKE_MODE_OPEN_RANGE_BRAKE</th>
                 <th bgcolor="ffff99">RA1_BRAKE_MODE_CLOSE_RANGE_BRAKE</th>
                 <th bgcolor="ffff00">RA1_DRIVE_MODE_OPEN_SLAVE</th>
                 <th bgcolor="ffff99">RA1_DRIVE_MODE_CLOSE_SLAVE</th>
                 <th bgcolor="ffff00">RA1_DRIVE_MODE_OPEN_RANGE_SLAVE</th>
                 <th bgcolor="ffff99">RA1_DRIVE_MODE_CLOSE_RANGE_SLAVE</th>
                 <th bgcolor="ffff00">RA1_BRAKE_MODE_OPEN_SLAVE</th>
                 <th bgcolor="ffff99">RA1_BRAKE_MODE_CLOSE_SLAVE</th>
                 <th bgcolor="ffff00">RA1_BRAKE_MODE_OPEN_RANGE_SLAVE</th>
                 <th bgcolor="ffff99">RA1_BRAKE_MODE_CLOSE_RANGE_SLAVE</th>
                 <th bgcolor="ffff00">RA1_EGR_ANGLE</th>
                 <th bgcolor="ffff99">RA1_EGR_LIFT</th>
                 <th bgcolor="ffff00">RA1_EGR_LIFT_RANGE</th>
                 <th bgcolor="ffff99">RA2_DRIVE_MODE_OPEN_BRAKE</th>
                 <th bgcolor="ffff00">RA2_DRIVE_MODE_CLOSE_BRAKE</th>
                 <th bgcolor="ffff99">RA2_DRIVE_MODE_OPEN_RANGE_BRAKE</th>
                 <th bgcolor="ffff00">RA2_DRIVE_MODE_CLOSE_RANGE_BRAKE</th>
                 <th bgcolor="ffff99">RA2_BRAKE_MODE_OPEN_BRAKE</th>
                 <th bgcolor="ffff00">RA2_BRAKE_MODE_CLOSE_BRAKE</th>
                 <th bgcolor="ffff99">RA2_BRAKE_MODE_OPEN_RANGE_BRAKE</th>
                 <th bgcolor="ffff00">RA2_BRAKE_MODE_CLOSE_RANGE_BRAKE</th>
                 <th bgcolor="ffff99">RA2_DRIVE_MODE_OPEN_SLAVE</th>
                 <th bgcolor="ffff00">RA2_DRIVE_MODE_CLOSE_SLAVE</th>
                 <th bgcolor="ffff99">RA2_DRIVE_MODE_OPEN_RANGE_SLAVE</th>
                 <th bgcolor="ffff00">RA2_DRIVE_MODE_CLOSE_RANGE_SLAVE</th>
                 <th bgcolor="ffff99">RA2_BRAKE_MODE_OPEN_SLAVE</th>
                 <th bgcolor="ffff00">RA2_BRAKE_MODE_CLOSE_SLAVE</th>
                 <th bgcolor="ffff99">RA2_BRAKE_MODE_OPEN_RANGE_SLAVE</th>
                 <th bgcolor="ffff00">RA2_BRAKE_MODE_CLOSE_RANGE_SLAVE</th>
                 <th bgcolor="ffff99">RA2_EGR_ANGLE</th>
                 <th bgcolor="ffff00">RA2_EGR_LIFT</th>
                 <th bgcolor="ffff99">RA2_EGR_LIFT_RANGE</th>
                 <th bgcolor="ffff00">RA3_DRIVE_MODE_OPEN_BRAKE</th>
                 <th bgcolor="ffff99">RA3_DRIVE_MODE_CLOSE_BRAKE</th>
                 <th bgcolor="ffff00">RA3_DRIVE_MODE_OPEN_RANGE_BRAKE</th>
                 <th bgcolor="ffff99">RA3_DRIVE_MODE_CLOSE_RANGE_BRAKE</th>
                 <th bgcolor="ffff00">RA3_BRAKE_MODE_OPEN_BRAKE</th>
                 <th bgcolor="ffff99">RA3_BRAKE_MODE_CLOSE_BRAKE</th>
                 <th bgcolor="ffff00">RA3_BRAKE_MODE_OPEN_RANGE_BRAKE</th>
                 <th bgcolor="ffff99">RA3_BRAKE_MODE_CLOSE_RANGE_BRAKE</th>
                 <th bgcolor="ffff00">RA3_DRIVE_MODE_OPEN_SLAVE</th>
                 <th bgcolor="ffff99">RA3_DRIVE_MODE_CLOSE_SLAVE</th>
                 <th bgcolor="ffff00">RA3_DRIVE_MODE_OPEN_RANGE_SLAVE</th>
                 <th bgcolor="ffff99">RA3_DRIVE_MODE_CLOSE_RANGE_SLAVE</th>
                 <th bgcolor="ffff00">RA3_BRAKE_MODE_OPEN_SLAVE</th>
                 <th bgcolor="ffff99">RA3_BRAKE_MODE_CLOSE_SLAVE</th>
                 <th bgcolor="ffff00">RA3_BRAKE_MODE_OPEN_RANGE_SLAVE</th>
                 <th bgcolor="ffff99">RA3_BRAKE_MODE_CLOSE_RANGE_SLAVE</th>
                 <th bgcolor="ffff00">RA3_EGR_ANGLE</th>
                 <th bgcolor="ffff99">RA3_EGR_LIFT</th>
                 <th bgcolor="ffff00">RA3_EGR_LIFT_RANGE</th>
              </tr>
          </HeaderTemplate>
 
          <ItemTemplate>
          <tr>
              <td bgcolor="ffff00"><%# Eval("DATA_MONTAZU") %></td>
              <td bgcolor="ffff99"><%# Eval("DM_CARIER_OCV") %></td>
              <td bgcolor="ffff00"><%# Eval("DM_CARIER_NO_OCV") %></td>
              <td bgcolor="ffff99"><%# Eval("DM_RA1") %></td>
              <td bgcolor="ffff00"><%# Eval("DM_RA2") %></td>
              <td bgcolor="ffff99"><%# Eval("DM_RA3") %></td>
              <td bgcolor="ffff00"><%# Eval("DM_OCV") %></td>
              <td bgcolor="ffff99"><%# Eval("M6_MOMENT") %></td>
              <td bgcolor="ffff00"><%# Eval("M6_OBROTY") %></td>
              <td bgcolor="ffff99"><%# Eval("M10_1_MOMENT") %></td>
              <td bgcolor="ffff00"><%# Eval("M10_1_OBROTY") %></td>
              <td bgcolor="ffff99"><%# Eval("M10_2_MOMENT") %></td>
              <td bgcolor="ffff00"><%# Eval("M10_2_OBROTY") %></td>
              <td bgcolor="ffff99"><%# Eval("DATA_TESTU") %></td>
              <td bgcolor="ffff00"><%# Eval("STATUS_CARIER_OCV") %></td>
              <td bgcolor="ffff99"><%# Eval("STATUS_CARIER_NO_OCV") %></td>
              <td bgcolor="ffff00"><%# Eval("STATUS_RA1") %></td>
              <td bgcolor="ffff99"><%# Eval("STATUS_RA2") %></td>
              <td bgcolor="ffff00"><%# Eval("STATUS_RA3") %></td>
              <td bgcolor="ffff99"><%# Eval("STATUS_OCV") %></td>
              <td bgcolor="ffff00"><%# Eval("STATUS_REZ_1") %></td>
              <td bgcolor="ffff99"><%# Eval("STATUS_REZ_2") %></td>
              <td bgcolor="ffff00"><%# Eval("STATUS_REZ_3") %></td>
              <td bgcolor="ffff99"><%# Eval("STATUS_REZ_4") %></td>
              <td bgcolor="ffff00"><%# Eval("OCV_ON_FLOW") %></td>
              <td bgcolor="ffff99"><%# Eval("OCV_OFF_FLOW") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_DRIVE_MODE_OPEN_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA1_DRIVE_MODE_CLOSE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_DRIVE_MODE_OPEN_RANGE_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA1_DRIVE_MODE_CLOSE_RANGE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_BRAKE_MODE_OPEN_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA1_BRAKE_MODE_CLOSE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_BRAKE_MODE_OPEN_RANGE_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA1_BRAKE_MODE_CLOSE_RANGE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_DRIVE_MODE_OPEN_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA1_DRIVE_MODE_CLOSE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_DRIVE_MODE_OPEN_RANGE_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA1_DRIVE_MODE_CLOSE_RANGE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_BRAKE_MODE_OPEN_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA1_BRAKE_MODE_CLOSE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_BRAKE_MODE_OPEN_RANGE_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA1_BRAKE_MODE_CLOSE_RANGE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_EGR_ANGLE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA1_EGR_LIFT") %></td>
              <td bgcolor="ffff00"><%# Eval("RA1_EGR_LIFT_RANGE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_DRIVE_MODE_OPEN_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA2_DRIVE_MODE_CLOSE_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_DRIVE_MODE_OPEN_RANGE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA2_DRIVE_MODE_CLOSE_RANGE_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_BRAKE_MODE_OPEN_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA2_BRAKE_MODE_CLOSE_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_BRAKE_MODE_OPEN_RANGE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA2_BRAKE_MODE_CLOSE_RANGE_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_DRIVE_MODE_OPEN_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA2_DRIVE_MODE_CLOSE_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_DRIVE_MODE_OPEN_RANGE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA2_DRIVE_MODE_CLOSE_RANGE_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_BRAKE_MODE_OPEN_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA2_BRAKE_MODE_CLOSE_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_BRAKE_MODE_OPEN_RANGE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA2_BRAKE_MODE_CLOSE_RANGE_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_EGR_ANGLE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA2_EGR_LIFT") %></td>
              <td bgcolor="ffff99"><%# Eval("RA2_EGR_LIFT_RANGE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_DRIVE_MODE_OPEN_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA3_DRIVE_MODE_CLOSE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_DRIVE_MODE_OPEN_RANGE_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA3_DRIVE_MODE_CLOSE_RANGE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_BRAKE_MODE_OPEN_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA3_BRAKE_MODE_CLOSE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_BRAKE_MODE_OPEN_RANGE_BRAKE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA3_BRAKE_MODE_CLOSE_RANGE_BRAKE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_DRIVE_MODE_OPEN_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA3_DRIVE_MODE_CLOSE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_DRIVE_MODE_OPEN_RANGE_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA3_DRIVE_MODE_CLOSE_RANGE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_BRAKE_MODE_OPEN_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA3_BRAKE_MODE_CLOSE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_BRAKE_MODE_OPEN_RANGE_SLAVE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA3_BRAKE_MODE_CLOSE_RANGE_SLAVE") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_EGR_ANGLE") %></td>
              <td bgcolor="ffff99"><%# Eval("RA3_EGR_LIFT") %></td>
              <td bgcolor="ffff00"><%# Eval("RA3_EGR_LIFT_RANGE") %></td>
          </tr>
          </ItemTemplate>
 
 
          <FooterTemplate>
              </table>
          </FooterTemplate>
      </asp:Repeater>
 
      <asp:SqlDataSource 
          ConnectionString="Server=U-Nazwa_komputera\SQLEXPRESS;Database=PLCData;User ID=webuser;Password=Hasło"
          ID="DataFromTable" runat="server" 
          SelectCommand="SELECT DATA_MONTAZU,DM_CARIER_OCV,DM_CARIER_NO_OCV,DM_RA1,DM_RA2,DM_RA3,DM_OCV,M6_MOMENT,M6_OBROTY,M10_1_MOMENT,M10_1_OBROTY,
M10_2_MOMENT,M10_2_OBROTY,DATA_TESTU,STATUS_CARIER_OCV,STATUS_CARIER_NO_OCV,STATUS_RA1,STATUS_RA2,STATUS_RA3,STATUS_OCV,STATUS_REZ_1,STATUS_REZ_2,
STATUS_REZ_3,STATUS_REZ_4,OCV_ON_FLOW,OCV_OFF_FLOW,RA1_DRIVE_MODE_OPEN_BRAKE,RA1_DRIVE_MODE_CLOSE_BRAKE,RA1_DRIVE_MODE_OPEN_RANGE_BRAKE,RA1_DRIVE_MODE_CLOSE_RANGE_BRAKE,
RA1_BRAKE_MODE_OPEN_BRAKE,RA1_BRAKE_MODE_CLOSE_BRAKE,RA1_BRAKE_MODE_OPEN_RANGE_BRAKE,RA1_BRAKE_MODE_CLOSE_RANGE_BRAKE,RA1_DRIVE_MODE_OPEN_SLAVE,RA1_DRIVE_MODE_CLOSE_SLAVE,
RA1_DRIVE_MODE_OPEN_RANGE_SLAVE,RA1_DRIVE_MODE_CLOSE_RANGE_SLAVE,RA1_BRAKE_MODE_OPEN_SLAVE,RA1_BRAKE_MODE_CLOSE_SLAVE,RA1_BRAKE_MODE_OPEN_RANGE_SLAVE,
RA1_BRAKE_MODE_CLOSE_RANGE_SLAVE,RA1_EGR_ANGLE,RA1_EGR_LIFT,RA1_EGR_LIFT_RANGE,RA2_DRIVE_MODE_OPEN_BRAKE,RA2_DRIVE_MODE_CLOSE_BRAKE,RA2_DRIVE_MODE_OPEN_RANGE_BRAKE,
RA2_DRIVE_MODE_CLOSE_RANGE_BRAKE,RA2_BRAKE_MODE_OPEN_BRAKE,RA2_BRAKE_MODE_CLOSE_BRAKE,RA2_BRAKE_MODE_OPEN_RANGE_BRAKE,RA2_BRAKE_MODE_CLOSE_RANGE_BRAKE,
RA2_DRIVE_MODE_OPEN_SLAVE,RA2_DRIVE_MODE_CLOSE_SLAVE,RA2_DRIVE_MODE_OPEN_RANGE_SLAVE,RA2_DRIVE_MODE_CLOSE_RANGE_SLAVE,RA2_BRAKE_MODE_OPEN_SLAVE,
RA2_BRAKE_MODE_CLOSE_SLAVE,RA2_BRAKE_MODE_OPEN_RANGE_SLAVE,RA2_BRAKE_MODE_CLOSE_RANGE_SLAVE,RA2_EGR_ANGLE,RA2_EGR_LIFT,RA2_EGR_LIFT_RANGE,
RA3_DRIVE_MODE_OPEN_BRAKE,RA3_DRIVE_MODE_CLOSE_BRAKE,RA3_DRIVE_MODE_OPEN_RANGE_BRAKE,RA3_DRIVE_MODE_CLOSE_RANGE_BRAKE,RA3_BRAKE_MODE_OPEN_BRAKE,
RA3_BRAKE_MODE_CLOSE_BRAKE,RA3_BRAKE_MODE_OPEN_RANGE_BRAKE,RA3_BRAKE_MODE_CLOSE_RANGE_BRAKE,RA3_DRIVE_MODE_OPEN_SLAVE,RA3_DRIVE_MODE_CLOSE_SLAVE,
RA3_DRIVE_MODE_OPEN_RANGE_SLAVE,RA3_DRIVE_MODE_CLOSE_RANGE_SLAVE,RA3_BRAKE_MODE_OPEN_SLAVE,RA3_BRAKE_MODE_CLOSE_SLAVE,RA3_BRAKE_MODE_OPEN_RANGE_SLAVE,
RA3_BRAKE_MODE_CLOSE_RANGE_SLAVE,RA3_EGR_ANGLE,RA3_EGR_LIFT,RA3_EGR_LIFT_RANGE FROM PLC1">
      </asp:SqlDataSource>
    </div>
</body>
</html>
0

Możesz uzyć gridview:
CSS wziąłem stąd: http://www.textfixer.com/tutorials/css-table-color-columns.php

<%@ Page Language="C#" %>
<html>
<head runat="server">
    <title>Pobieranie_danych_PLC1</title>
	<style type="text/css">
	.TFtableCol{
		width:100%; 
		border-collapse:collapse; 
	}
	.TFtableCol td{ 
		padding:7px; border:#4e95f4 1px solid;
	}
	/* improve visual readability for IE8 and below */
	.TFtableCol tr{
		background: #b8d1f3;
	}
	/*  Define the background color for all the ODD table columns  */
	.TFtableCol tr td:nth-child(odd){ 
		background: #b8d1f3;
	}
	/*  Define the background color for all the EVEN table columns  */
	.TFtableCol tr td:nth-child(even){
		background: #dae5f4;
	}
</style>
</head>
<body>
    <div>
 
<div><form runat="server">
    <asp:gridview id="CustomersGridView" 
				  datasourceid="DataFromTable" 
				  autogeneratecolumns="True"
				  emptydatatext="No data available." 
				  allowpaging="True" 
				  pagesize=50
				  allowSorting="True"
				  CssClass="TFtableCol"
				  viewstate=false
				  runat="server" >
	</asp:gridview>
    <asp:SqlDataSource 
          ConnectionString="Server=U-Nazwa_komputera\SQLEXPRESS;Database=PLCData;User ID=webuser;Password=Hasło"
          ID="DataFromTable" runat="server" 
          SelectCommand="SELECT * FROM PLC1">
      </asp:SqlDataSource>
	  </form>
    </div>
</body>
</html>

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