« ODBC et CSharp » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(6 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Category:CSharp]] | [[Category:CSharp]] | ||
= Connection and query = | |||
Nuget package: {{boxx|System.Data.Odbc}} | |||
<kode lang="csharp"> | <kode lang="csharp"> | ||
// use an ODBC DSN name | |||
using var odbcConnection = new OdbcConnection("DSN=MyConnection"); | |||
var odbcDataAdapter = new OdbcDataAdapter("SELECT * FROM table WHERE validity_date < ?", odbcConnection); | |||
odbcDataAdapter.SelectCommand.Parameters.Add("@date", OdbcType.DateTime).Value = maxLimitDate; | |||
var | var dataTable = new DataTable(); | ||
odbcConnection.Open(); | odbcConnection.Open(); | ||
odbcDataAdapter.Fill(dataTable); | |||
odbcConnection. | |||
Console.WriteLine(string.Join("\t,\t", dataTable.Columns.Cast<DataColumn>().Select(x => x.ColumnName))); | |||
Console.WriteLine(string.Join("\n", dataTable.AsEnumerable().Select(x => string.Join("\t,\t", x.ItemArray))); | |||
</kode> | |||
= Get the table names = | |||
<kode lang='cs'> | |||
var tableNames = odbcConnection.GetSchema("Tables") | |||
.AsEnumerable() | |||
.Where(r => r.Field<string>("TABLE_TYPE") == "TABLE") | |||
.Select(x => x.ItemArray[2]); | |||
Console.WriteLine(string.Join("\n", tableNames)); | |||
</kode> | </kode> |
Dernière version du 13 mars 2023 à 15:39
Connection and query
Nuget package: System.Data.Odbc
// use an ODBC DSN name using var odbcConnection = new OdbcConnection("DSN=MyConnection"); var odbcDataAdapter = new OdbcDataAdapter("SELECT * FROM table WHERE validity_date < ?", odbcConnection); odbcDataAdapter.SelectCommand.Parameters.Add("@date", OdbcType.DateTime).Value = maxLimitDate; var dataTable = new DataTable(); odbcConnection.Open(); odbcDataAdapter.Fill(dataTable); Console.WriteLine(string.Join("\t,\t", dataTable.Columns.Cast<DataColumn>().Select(x => x.ColumnName))); Console.WriteLine(string.Join("\n", dataTable.AsEnumerable().Select(x => string.Join("\t,\t", x.ItemArray))); |
Get the table names
var tableNames = odbcConnection.GetSchema("Tables") .AsEnumerable() .Where(r => r.Field<string>("TABLE_TYPE") == "TABLE") .Select(x => x.ItemArray[2]); Console.WriteLine(string.Join("\n", tableNames)); |