private static SqlDataRecord createRecordPopulatedWithData(SqlDataReader dataReader, SqlMetaData[] meta) { SqlDataRecord rec = new SqlDataRecord(meta); object[] recordData = new object[dataReader.FieldCount]; dataReader.GetSqlValues(recordData); rec.SetValues(recordData); return rec; }
public void GetSqlValues () { cmd.CommandText = "Select 10,20,30 from numeric_family where id=1"; reader = cmd.ExecuteReader (); reader.Read (); object[] arr = null; int count = 0; arr = new object[1]; count = reader.GetSqlValues (arr); // Something is wrong with types ... gotta figure it out //Assert.AreEqual (10, arr[0], "#1 Only first object shud be copied"); Assert.AreEqual (1, count, "#1 return value shud equal objects copied"); arr = new object[3]; count = reader.GetSqlValues (arr); Assert.AreEqual (3, count, "#2 return value shud equal objects copied"); arr = new object[5]; count = reader.GetSqlValues (arr); Assert.AreEqual (3, count, "#3 return value shud equal objects copied"); Assert.IsNull (arr[3], "#4 Only 3 objects shud be copied"); reader.Close (); }