C#中调取数据问题
把调取数据的sql语句写成存储过程,在程序中写一个用存储过程调用数据的类,请问怎么实现? 问题点数:0、回复次数:2Top
1 楼xielk(xielk)回复于 2005-04-03 21:04:01 得分 0
this PROCEDURE
CREATE PROCEDURE AddBook
@name varchar(100),
@type smallint,
@author varchar(30),
@translator varchar(30),
@publisher varchar(100),
@price decimal,
@discount decimal,
@cover image,
@description text,
@hits smallint,
@sales smallint,
@status bit
as
insert book(type,name,author,translator,publisher,price,discount,cover,description,hits,sales,status)
values(@type,@name,@author,@translator,@publisher,@price,@discount,@cover,@description,@hits,@sales,@status)
GO
class
public void AddBook(ArrayList tempary)
{
SqlConnection myCn=new SqlConnection(strConn);
SqlCommand myCm=new SqlCommand("AddBook",myCn);
myCm.CommandType =CommandType.StoredProcedure ;
myCm.Parameters.Add(new SqlParameter("@name",SqlDbType.VarChar,100));
myCm.Parameters["@name"].Value =tempary[0];
myCm.Parameters.Add(new SqlParameter("@type",SqlDbType.Int));
myCm.Parameters["@type"].Value =tempary[1];
myCm.Parameters.Add(new SqlParameter("@author",SqlDbType.VarChar,30 ));
myCm.Parameters["@author"].Value =tempary[2];
myCm.Parameters.Add(new SqlParameter("@translator",SqlDbType.VarChar,30));
myCm.Parameters["@translator"].Value =tempary[3];
myCm.Parameters.Add(new SqlParameter("@publisher",SqlDbType.VarChar,100));
myCm.Parameters["@publisher"].Value =tempary[4];
myCm.Parameters.Add(new SqlParameter("@price",SqlDbType.Decimal ));
myCm.Parameters["@price"].Value =tempary[5];
myCm.Parameters.Add(new SqlParameter("@discount",SqlDbType.Decimal ));
myCm.Parameters["@discount"].Value =tempary[6];
myCm.Parameters.Add(new SqlParameter("@cover",SqlDbType.Image ));
myCm.Parameters["@cover"].Value =tempary[7];
myCm.Parameters.Add(new SqlParameter("@description",SqlDbType.Text ));
myCm.Parameters["@description"].Value =tempary[8];
myCm.Parameters.Add(new SqlParameter("@hits",SqlDbType.Int));
myCm.Parameters["@hits"].Value =tempary[9];
myCm.Parameters.Add(new SqlParameter("@sales",SqlDbType.Int));
myCm.Parameters["@sales"].Value =tempary[10];
myCm.Parameters.Add(new SqlParameter("@status",SqlDbType.Bit) );
myCm.Parameters["@status"].Value =tempary[11];
try
{
myCn.Open() ;
myCm.ExecuteNonQuery() ;
}
catch(System.Data.SqlClient.SqlException er)
{
throw new Exception(er.Message);
}
finally
{
myCm.Dispose() ;
myCn.Close() ;
}
}
call this class
fs=new FileStream(FileName,FileMode.OpenOrCreate);
BinaryReader r=new BinaryReader(fs);
r.BaseStream.Seek(0,SeekOrigin.Begin);
ImageBuffer=r.ReadBytes(ImageSize);
arr=new ArrayList();
arr.Add(tb_BookName.Text.Trim());
arr.Add(ddl_BookType.SelectedItem.Value.ToString());
arr.Add(tb_Author.Text.Trim());
arr.Add(tb_Translator.Text.Trim());
arr.Add(tb_Press.Text.Trim());
arr.Add(tb_Price.Text.Trim());
arr.Add(tb_Discount.Text.Trim());
arr.Add(ImageBuffer);
arr.Add(Hugo.Functions.Encode(tb_Description.Text.Trim()));
arr.Add("0");
arr.Add("0");
arr.Add(false);
myBook.AddBook(arr);Top
2 楼zhzuo(秋枫)回复于 2005-04-04 13:32:21 得分 0
Data Access Application Block,数据访问模块
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp
http://www.gotdotnet.com/workspaces/releases/viewuploads.aspx?id=c20d12b0-af52-402b-9b7c-aaeb21d1f431Top




