/// <summary>
/// 获取数据库连接
/// </summary>
/// <returns></returns>
public static SqlConnection GetConnection()
{
string connStr = @"Data Source=WIN-20120404HSEInitial Catalog=BooksManageIntegrated Security=True"
return new SqlConnection(connStr)
}
//这是增加一天图书信息(你自己建一张表,然后这张表的字段就是你上面列出来的,然后你根据你的表把我写的这个sql语句换成你的就ok了,你先做,如果不懂的话,在追问。)
public void AddTbook(Tbook tbook)
{
string sql = string.Format("insert into Tbook values('{0}','{1}','{2}','{3}','{4}',@bookCover,'{5}','{6}','{7}','{8}') ",
tbook.BookName, tbook.BookTypeId, tbook.BookAuthor, tbook.BookPrice, tbook.BookContent, tbook.BookCode, tbook.BookInLib,tbook.BookPublishTime,tbook.BookPublisher)
SqlConnection conn = null
try
{
conn = ConnectionManager.GetConnection()
conn.Open()
//获取SqlCommand,封装sql
SqlCommand command = new SqlCommand(sql, conn)
SqlParameter prm = new SqlParameter("@bookCover", SqlDbType.VarBinary, tbook.BookCover.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, tbook.BookCover)
command.Parameters.Add(prm)
//发送SQL
command.ExecuteNonQuery()
}
catch (SqlException)
{
throw new DAOException()
}
finally
{
if (conn != null)
{
conn.Close()
}
}
}
1.基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的。2.从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建)。比如
Integer i=new Integer(10) 其中new Integer()是在堆上创建的,而他的引用Integer i是在堆栈上。 封装类的出现,是为了更方便的使用一些基本类型不具备的方法,比如valueOf(),toString()等等。还有你如果想传递一个int对象的引用,而不是值,那只能用封装类。
ADO.NET?最简单的增删改如下,你需要自己封装一下,并加上异常处理。
OracleCommand cmd = new OracleCommand()
OracleConnection con = new OracleConnection("数据库连接字符串")
cmd.Connection = con
con.Open()
cmd.CommandType = CommandType.Text
cmd.CommandText="sql"
cmd.ExecuteNonQuery()
con.Close()
如果是查询数据,有两种,一种是返回1*1的值,如select count(*) ,需要调用cmd.ExecuteOracleScalar()方法,返回一个值
另一种是row*columns,即如select * from ,你需要用到 OracleDataAdapter类,用adapter.fill(datatable)的方法去填充一个数据集
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)