[请教] 能给一个用c#调用mssql存储过程的例子么?

flyincs 2004-08-11 10:03:56
要求存储过程能传参

十分感谢!!

我的Mail

ciu@etang.com
...全文
201 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyincs 2004-09-30
  • 打赏
  • 举报
回复
up
lxcc 2004-08-13
  • 打赏
  • 举报
回复
一个ASP.NET的例子

<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">

void Page_Load(object sender, EventArgs e) {

// TODO: Update the ConnectionString for your application
string ConnectionString = "server=(local);database=Northwind;trusted_connection=true";

// TODO: Updatd the name of the Stored Procedure for your application
string CommandText = "CustOrdersDetail";

SqlConnection myConnection = new SqlConnection(ConnectionString);
SqlCommand myCommand = new SqlCommand(CommandText, myConnection);
SqlParameter workParam;

myCommand.CommandType = CommandType.StoredProcedure;

// TODO: Set the input parameter, if necessary, for your application
myCommand.Parameters.Add("@OrderId", SqlDbType.Int).Value = 11077;



myConnection.Open();

DataGrid1.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
DataGrid1.DataBind();
}

</script>
<html>
<head>
</head>
<body style="FONT-FAMILY: arial">
<h2>Simple Stored Procedure
</h2>
<hr size="1" />
<form runat="server">
<asp:datagrid id="DataGrid1" runat="server" CellSpacing="1" GridLines="None" CellPadding="3" BackColor="White" ForeColor="Black" EnableViewState="False">
<HeaderStyle font-bold="True" forecolor="white" backcolor="#4A3C8C"></HeaderStyle>
<ItemStyle backcolor="#DEDFDE"></ItemStyle>
</asp:datagrid>
</form>
</body>
</html>
我不懂电脑 2004-08-13
  • 打赏
  • 举报
回复
SqlParameter[] paras;
paras= new SqlParameter[6];
paras[0]=new SqlParameter("@Rep_Code", SqlDbType.VarChar, 20); //报表代码
paras[1]=new SqlParameter("@Account_Month", SqlDbType.VarChar, 10); //帐务月
paras[2]=new SqlParameter("@LocalNet_Code", SqlDbType.VarChar, 3); //本地网编码
paras[3]=new SqlParameter("@checked", SqlDbType.Int , 3); //审核标志位
paras[4]=new SqlParameter("@User_Id", SqlDbType.VarChar, 10); //用户ID
paras[5]=new SqlParameter("ReturnValue", SqlDbType.Int);



paras[0].Value=RepCode;
paras[1].Value=AccountMonth;
paras[2].Value =LocCode;
paras[3].Value =Check;
paras[4].Value =Userid;
paras[5].Direction=ParameterDirection.ReturnValue;

System.Data.SqlClient.SqlConnection Sqlcon=db.OpenDb();
string strReturn=db.RunProc("Cus_RepGuideFast",paras);
db.CloseData(Sqlcon);
return strReturn;
flyincs 2004-08-13
  • 打赏
  • 举报
回复
tks 各位
jeng 2004-08-12
  • 打赏
  • 举报
回复
SqlCommand cmd=new SqlCommand("usp_UpdateStudentInfo",conn);
cmd.CommandType=CommandType.StoredProcedure;

//add parameters
cmd.Parameters.Add("@fStudentID",SqlDbType.Char);
cmd.Parameters.Add("@fStudentNo",SqlDbType.Char);

cmd.Parameters["@fStudentID"].Value=this.fStudentID.Trim();
cmd.Parameters["@fStudentNo"].Value=this.fStudentNo.Trim();

conn.Open();
cmd.ExecuteNonQuery();
csq0516 2004-08-11
  • 打赏
  • 举报
回复
up
daou101 2004-08-11
  • 打赏
  • 举报
回复
使用ODBC.NET

ODBC.NET(全称ODBC .NET Data Provider)是一个免费的.NET Framework附加组件,需
要到微软公司的网站上去下载,下载地址为:http://download.microsoft.com/downloa
d/dasdk/Install/1.0.4030.0/W98NT42KMeXP/EN-US/odbc_net.msi,它需要系统已经安
装MDAC 2.7或者更高版本。另外,还需要安装MySQL的ODBC驱动程序,下载地址为:http
://www.mysql.com/downloads/api-myodbc-2.50.html,还需要在"ODBC数据源管理器"中
配置一下DSN,如下图所示:




在对象的设计上,ODBC.NET也跟OLEDB,SQL等一样,分别为OdbcConnection,
OdbcCommand, OdbcDataAdapter, OdbcDataReader,用法也完全一样,如果你希望用ODBC
.NET来代替以前的OleDb .NET Data Provider,事实上完全可以通过查找替换的办法来
修改你的程序。

以下是一段代码示例:

try
{
string constr = "DSN=MySQL;" + "UID=;" +"PWD="; ;
conn = new OdbcConnection(constr);
conn.Open();
string query = "insert into test.dbtable values10,'disksidkfsdi',
'asdfaf', 'adsfasdf')";
string tmp = null;
OdbcCommand cmd = new OdbcCommand(query, conn);
for(int i = 0; i < 100000; i++)
{
cmd.ExecuteNonQuery();
}
cmd.Dispose();
conn.Close();
query = "select * from test.dbtable";
OdbcCommand cmd2 = newOdbcCommand(query, conn);
conn.Open();
OdbcDataReader reader = cmd2.ExecuteReader();
while(reader.Read())
{
tmp = reader[0].ToString();
tmp = reader[1].ToString();
tmp = reader[2].ToString();
tmp = reader[3].ToString();
}
conn.Close();
query = "delete from test.dbtable";
OdbcCommand cmd3 = newOdbcCommand(query, conn);
conn.Open();
cmd3.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
只要是用C#写过数据库应用的人一定能知道,上面的代码执行了十万次插入数据和读取
数据,最后将数据记录全部删除的操作。
flyincs 2004-08-11
  • 打赏
  • 举报
回复
自己顶了

请各位帮帮忙了

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧