[求助]我想执行一个带插入功能的存储过程,但是总是插入不进去,请指教.
我的存储过程
CREATE PROCEDURE dbo.InsertData
(
@Yname varchar (50),
@sex varchar (50),
@qq varchar (50),
@email varchar (50),
@homepage varchar (50),
@caption varchar (50),
@content text
)
AS
INSERT INTO guest (Yname,sex,qq,email,homepage,caption,content)
values(@Yname,@sex,@qq,@email,@homepage,@caption,@content)
RETURN
GO
我的C#源码
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace Leaveword
{
/// <summary>
/// test3 的摘要说明。
/// </summary>
public class test3 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.Label Label5;
protected System.Web.UI.WebControls.Label Label6;
protected System.Web.UI.WebControls.Label Label7;
protected System.Web.UI.WebControls.TextBox Yname;
protected System.Web.UI.WebControls.TextBox Ysex;
protected System.Web.UI.WebControls.TextBox YQQ;
protected System.Web.UI.WebControls.TextBox YEmail;
protected System.Web.UI.WebControls.TextBox Yhomepage;
protected System.Web.UI.WebControls.TextBox Ycaption;
protected System.Web.UI.WebControls.TextBox Ycontent;
protected System.Web.UI.WebControls.Button Button2;
private void Page_Load(object sender, System.EventArgs e)
{
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private SqlConnection cnPubs;
private SqlCommand cmdPubs;
private SqlCommand cmdUpdPubs;
private SqlDataAdapter daPubs;
private DataSet dsPubs;
private void Button1_Click(object sender, System.EventArgs e)
{
try
{
// 创建一个数据库连接对象
cnPubs = new SqlConnection( "server=KANG;integrated security=true;database=guestbook" );
Response.Write("aaaaa");
// 创建一个SqlCommand对象,并指明其命令类型为存储过程
cmdPubs = new SqlCommand();
cmdPubs.Connection = cnPubs;
cmdPubs.CommandType = CommandType.StoredProcedure;
cmdPubs.CommandText = "InsertData";
Response.Write(cmdPubs.CommandText);
// // 创建另一个SqlCommand对象,该对象引用更新发行商名称的存储过程
// cmdUpdPubs = new SqlCommand();
// cmdUpdPubs.Connection = cnPubs;
// cmdUpdPubs.CommandType = CommandType.StoredProcedure;
// cmdUpdPubs.CommandText = "InsertData";
// 为上面的SqlCommand对象添加必要的参数
cmdPubs.Parameters.Add( "@Yname", SqlDbType.VarChar, 50, Yname.Text);
cmdPubs.Parameters.Add( "@sex", SqlDbType.VarChar, 50, Ysex.Text);
cmdPubs.Parameters.Add( "@qq", SqlDbType.VarChar, 50, YQQ.Text );
cmdPubs.Parameters.Add( "@email", SqlDbType.VarChar, 50, YEmail.Text );
cmdPubs.Parameters.Add( "@homepage", SqlDbType.VarChar, 50, Yhomepage.Text );
cmdPubs.Parameters.Add( "@caption", SqlDbType.VarChar, 50, Ycaption.Text );
//SqlParameter updParam = new SqlParameter( "@Original_pub_name", SqlDbType.VarChar, 40, "pub_name" );
//updParam.SourceVersion = DataRowVersion.Original;
cmdPubs.Parameters.Add( "@content", SqlDbType.Text, 16, Ycontent.Text);
Response.Write(Ycaption.Text);
// 创建一个SqlDataAdapter对象,设定其SelectCommand属性和UpdateCommand对象为上面的SqlCommand对象
daPubs = new SqlDataAdapter();
// cmdPubs.ExecuteNonQuery();
daPubs.InsertCommand = cmdPubs;
//daPubs.InsertCommand = cmdUpdPubs;
//daPubs.InsertCommand.ExecuteNonQuery();
Response.Write("aaaaadddd");
// 创建一个DataSet对象
dsPubs = new DataSet();
}
catch(Exception){}
// 调用SqlDataAdapter对象的Fill()方法并返回数据集对象
//daPubs.Fill( dsPubs );
//return dsPubs;
}
}
}
为什么数据库中没有新记录插入呢?
另外怎么才能查看一下存储过程是否执行了呢?
如果遇到这种问题应该怎么调试???!!!
随声附和的和灌水者不给分!!!