在nhibernate中执行SQL语句
4. 示例
下面给出一个在nhibernate中执行SQL语句的方法ExecuteSQL。
返回结果与nhibernate的query的结果保存一致(返回object[]的情况)。
下面给出一个在nhibernate中执行SQL语句的方法ExecuteSQL。
public IList ExecuteSQL( string query ) ...{
IList result = new ArrayList();
![]()
ISessionFactoryImplementor s = (ISessionFactoryImplementor)cfg.BuildSessionFactory();
IDbCommand cmd = s.ConnectionProvider.Driver.CreateCommand();
cmd.CommandText = query;
![]()
IDbConnection conn = s.OpenConnection();
try ...{
cmd.Connection = conn;
IDataReader rs = cmd.ExecuteReader();
![]()
while ( rs.Read() ) ...{
int fieldCount = rs.FieldCount;
object[] values = new Object[ fieldCount ];
for ( int i = 0; i < fieldCount; i ++ )
values[i] = rs.GetValue(i);
result.Add( values );
}
}
finally ...{
s.CloseConnection(conn);
}
![]()
return result;
}
返回结果与nhibernate的query的结果保存一致(返回object[]的情况)。
0
相关文章
