public DataSet GetSchema(string tableName) { var schema = new DataSet(); using (var connection = GetConnection()) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = "Select * from " + tableName; using (var reader = command.ExecuteReader()) { var oleDbSchema = reader.GetSchemaTable(); oleDbSchema.TableName = OleDbSchemaTableName; schema.Tables.Add(oleDbSchema.DefaultView.ToTable()); var vfpDataReader = new VfpDataReader(reader); var vfpSchema = vfpDataReader.GetSchemaTable(); vfpSchema.TableName = VfpSchemaTableName; schema.Tables.Add(vfpSchema.DefaultView.ToTable()); } } connection.Close(); } return(schema); }
private static void BoolTest() { using (var connection = CreateConnection()) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = "select 1 Column1 from SingleColumnSingleRow"; Console.WriteLine(command.CommandText); var oleDbReader = command.ExecuteReader(); oleDbReader.Read(); var result = oleDbReader.GetValue(0); Console.WriteLine("Result Type is: " + result.GetType().FullName); try { Console.WriteLine("Value from OleDbDataReader: " + oleDbReader.GetBoolean(0)); } catch (InvalidCastException ex) { DisplayException(ex); } var vfpDataReader = new VfpDataReader(oleDbReader); Console.WriteLine("Value from VfpDataReader: " + vfpDataReader.GetBoolean(0)); } connection.Close(); } }
private static void BinaryVarCharTest() { using (var connection = CreateConnection()) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = "select Name from BinaryVarchar"; Console.WriteLine(command.CommandText); var oleDbReader = command.ExecuteReader(); oleDbReader.Read(); var result = oleDbReader.GetValue(0); Console.WriteLine("OleDb Result Type is: " + result.GetType().FullName); try { var value = oleDbReader.GetString(0); Console.WriteLine("Value from OleDbDataReader: '" + value + "'"); } catch (InvalidCastException ex) { DisplayException(ex); } var vfpDataReader = new VfpDataReader(oleDbReader); Console.WriteLine("Value from VfpDataReader: '" + vfpDataReader.GetString(0) + "'"); } connection.Close(); } }
private static void TrimEndTest() { using (var connection = CreateConnection()) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = "select 'Test' + space(10) Column1 from SingleColumnSingleRow"; Console.WriteLine(command.CommandText); var oleDbReader = command.ExecuteReader(); oleDbReader.Read(); Console.WriteLine("Value from OleDbDataReader: '" + oleDbReader.GetString(0) + "'"); var vfpDataReader = new VfpDataReader(oleDbReader); Console.WriteLine("Value from VfpDataReader: '" + vfpDataReader.GetString(0) + "'"); } connection.Close(); } }
private static void NumericAsIntTest() { using (var connection = CreateConnection()) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = "select cast(1 as n(10)) Column1 from SingleColumnSingleRow"; Console.WriteLine(command.CommandText); var oleDbReader = command.ExecuteReader(); oleDbReader.Read(); // Result type is Decimal. var result = oleDbReader.GetValue(0); Console.WriteLine("OleDb Result Type is: " + result.GetType().FullName); try { // The OleDbDataReader will not let me retrieve the value as an integer. var value = oleDbReader.GetInt32(0); Console.WriteLine("Value from OleDbDataReader: " + value); } catch (InvalidCastException ex) { DisplayException(ex); } var vfpDataReader = new VfpDataReader(oleDbReader); // Result type is Decimal. var result2 = vfpDataReader.GetValue(0); Console.WriteLine("VfpClient Result Type is: " + result2.GetType().FullName); var value2 = vfpDataReader.GetInt32(0); Console.WriteLine("Value from VfpDataReader: " + value2); } connection.Close(); } }