| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461 |
- // created on 27/12/2002 at 17:05
- //
- // Author:
- // Francisco Figueiredo Jr. <[email protected]>
- //
- // Copyright (C) 2002 The Npgsql Development Team
- // [email protected]
- // http://gborg.postgresql.org/project/npgsql/projdisplay.php
- //
- // This library is free software; you can redistribute it and/or
- // modify it under the terms of the GNU Lesser General Public
- // License as published by the Free Software Foundation; either
- // version 2.1 of the License, or (at your option) any later version.
- //
- // This library is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- // Lesser General Public License for more details.
- //
- // You should have received a copy of the GNU Lesser General Public
- // License along with this library; if not, write to the Free Software
- // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- using System;
- using System.Data;
- using System.Web.UI.WebControls;
- using Npgsql;
- using NUnit.Framework;
- using NUnit.Core;
- namespace NpgsqlTests
- {
-
- [TestFixture]
- public class DataReaderTests
- {
-
- private NpgsqlConnection _conn = null;
- private String _connString = "Server=localhost;User ID=npgsql_tests;Password=npgsql_tests;Database=npgsql_tests";
-
- [SetUp]
- protected void SetUp()
- {
- //NpgsqlEventLog.Level = LogLevel.None;
- NpgsqlEventLog.Level = LogLevel.Debug;
- NpgsqlEventLog.LogName = "NpgsqlTests.LogFile";
- _conn = new NpgsqlConnection(_connString);
- }
-
- [TearDown]
- protected void TearDown()
- {
- if (_conn.State != ConnectionState.Closed)
- _conn.Close();
- }
-
- [Test]
- public void GetBoolean()
- {
- _conn.Open();
-
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_serial = 4;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
- Boolean result = dr.GetBoolean(4);
- Assertion.AssertEquals(true, result);
-
- }
-
-
- [Test]
- public void GetChars()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_serial = 1;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
- Char[] result = new Char[6];
-
-
- Int64 a = dr.GetChars(1, 0, result, 0, 6);
-
- Assertion.AssertEquals("Random", new String(result));
- /*ConsoleWriter cw = new ConsoleWriter(Console.Out);
-
- cw.WriteLine(result);*/
-
-
- }
-
- [Test]
- public void GetInt32()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_serial = 2;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
-
- Int32 result = dr.GetInt32(2);
-
- //ConsoleWriter cw = new ConsoleWriter(Console.Out);
-
- //cw.WriteLine(result.GetType().Name);
- Assertion.AssertEquals(4, result);
-
- }
-
-
- [Test]
- public void GetInt16()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tableb where field_serial = 1;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
- Int16 result = dr.GetInt16(1);
-
- Assertion.AssertEquals(2, result);
-
- }
-
-
- [Test]
- public void GetDecimal()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tableb where field_serial = 3;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
- Decimal result = dr.GetDecimal(3);
-
-
- Assertion.AssertEquals(4.23M, result);
-
- }
-
-
-
-
- [Test]
- public void GetDouble()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tabled where field_serial = 2;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
- //Double result = Double.Parse(dr.GetInt32(2).ToString());
- Double result = dr.GetDouble(2);
-
- Assertion.AssertEquals(.123456789012345D, result);
-
- }
-
-
- [Test]
- public void GetFloat()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tabled where field_serial = 1;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
- //Single result = Single.Parse(dr.GetInt32(2).ToString());
- Single result = dr.GetFloat(1);
-
- Assertion.AssertEquals(.123456F, result);
-
- }
-
-
- [Test]
- public void GetString()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_serial = 1;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
- String result = dr.GetString(1);
-
- Assertion.AssertEquals("Random text", result);
-
- }
-
-
- [Test]
- public void GetStringWithParameter()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_text = :value;", _conn);
-
- String test = "Random text";
- NpgsqlParameter param = new NpgsqlParameter();
- param.ParameterName = "value";
- param.DbType = DbType.String;
- //param.NpgsqlDbType = NpgsqlDbType.Text;
- param.Size = test.Length;
- param.Value = test;
- command.Parameters.Add(param);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
- String result = dr.GetString(1);
-
- Assertion.AssertEquals(test, result);
-
- }
-
- [Test]
- public void GetStringWithQuoteWithParameter()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_text = :value;", _conn);
-
- String test = "Text with ' single quote";
- NpgsqlParameter param = new NpgsqlParameter();
- param.ParameterName = "value";
- param.DbType = DbType.String;
- //param.NpgsqlDbType = NpgsqlDbType.Text;
- param.Size = test.Length;
- param.Value = test;
- command.Parameters.Add(param);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
- String result = dr.GetString(1);
-
- Assertion.AssertEquals(test, result);
-
- }
-
-
- [Test]
- public void GetValueByName()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_serial = 1;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
- String result = (String) dr["field_text"];
-
- Assertion.AssertEquals("Random text", result);
-
- }
-
- [Test]
- [ExpectedException(typeof(InvalidOperationException))]
- public void GetValueFromEmptyResultset()
- {
- _conn.Open();
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_text = :value;", _conn);
-
- String test = "Text single quote";
- NpgsqlParameter param = new NpgsqlParameter();
- param.ParameterName = "value";
- param.DbType = DbType.String;
- //param.NpgsqlDbType = NpgsqlDbType.Text;
- param.Size = test.Length;
- param.Value = test;
- command.Parameters.Add(param);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- dr.Read();
-
-
- // This line should throw the invalid operation exception as the datareader will
- // have an empty resultset.
- Console.WriteLine(dr.IsDBNull(1));
-
-
- }
-
-
- [Test]
- public void TestOverlappedParameterNames()
- {
- _conn.Open();
-
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_serial = :a or field_serial = :aa", _conn);
- command.Parameters.Add(new NpgsqlParameter("a", DbType.Int32, 4, "a"));
- command.Parameters.Add(new NpgsqlParameter("aa", DbType.Int32, 4, "aa"));
-
- command.Parameters[0].Value = 2;
- command.Parameters[1].Value = 3;
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- }
-
- [Test]
- [ExpectedException(typeof(NpgsqlException))]
- public void TestNonExistentParameterName()
- {
- _conn.Open();
-
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_serial = :a or field_serial = :aa", _conn);
- command.Parameters.Add(new NpgsqlParameter(":b", DbType.Int32, 4, "b"));
- command.Parameters.Add(new NpgsqlParameter(":aa", DbType.Int32, 4, "aa"));
-
- command.Parameters[0].Value = 2;
- command.Parameters[1].Value = 3;
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
-
- }
-
-
-
-
- [Test]
- public void UseDataAdapter()
- {
-
- _conn.Open();
-
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea", _conn);
-
- NpgsqlDataAdapter da = new NpgsqlDataAdapter();
-
- da.SelectCommand = command;
-
- DataSet ds = new DataSet();
-
- da.Fill(ds);
-
- //ds.WriteXml("TestUseDataAdapter.xml");
-
-
- }
-
- [Test]
- public void UseDataAdapterNpgsqlConnectionConstructor()
- {
-
- _conn.Open();
-
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea", _conn);
-
- command.Connection = _conn;
-
- NpgsqlDataAdapter da = new NpgsqlDataAdapter(command);
-
- DataSet ds = new DataSet();
-
- da.Fill(ds);
-
- //ds.WriteXml("TestUseDataAdapterNpgsqlConnectionConstructor.xml");
-
-
- }
-
- [Test]
- public void UseDataAdapterStringNpgsqlConnectionConstructor()
- {
-
- _conn.Open();
-
-
- NpgsqlDataAdapter da = new NpgsqlDataAdapter("select * from tablea", _conn);
-
- DataSet ds = new DataSet();
-
- da.Fill(ds);
-
- //ds.WriteXml("TestUseDataAdapterStringNpgsqlConnectionConstructor.xml");
-
-
- }
-
-
- [Test]
- public void UseDataAdapterStringStringConstructor()
- {
-
- _conn.Open();
-
-
- NpgsqlDataAdapter da = new NpgsqlDataAdapter("select * from tablea", _connString);
-
- DataSet ds = new DataSet();
-
- da.Fill(ds);
-
- ds.WriteXml("TestUseDataAdapterStringStringConstructor.xml");
-
-
- }
-
- [Test]
- public void UseDataAdapterStringStringConstructor2()
- {
-
- _conn.Open();
-
-
- NpgsqlDataAdapter da = new NpgsqlDataAdapter("select * from tableb", _connString);
-
- DataSet ds = new DataSet();
-
- da.Fill(ds);
-
- ds.WriteXml("TestUseDataAdapterStringStringConstructor2.xml");
-
-
- }
-
- [Test]
- public void DataGridWebControlSupport()
- {
-
- _conn.Open();
-
- NpgsqlCommand command = new NpgsqlCommand("select * from tablea;", _conn);
-
- NpgsqlDataReader dr = command.ExecuteReader();
-
- DataGrid dg = new DataGrid();
-
- dg.DataSource = dr;
- dg.DataBind();
-
-
- }
-
-
-
-
-
-
- }
- }
|