我的存储过程
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; }
}}
为什么数据库中没有新记录插入呢?
另外怎么才能查看一下存储过程是否执行了呢?
如果遇到这种问题应该怎么调试???!!!
随声附和的和灌水者不给分!!!
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; }
}}
为什么数据库中没有新记录插入呢?
另外怎么才能查看一下存储过程是否执行了呢?
如果遇到这种问题应该怎么调试???!!!
随声附和的和灌水者不给分!!!
解决方案 »
- 关于编码的问题
- 关于 发生类型为 System.StackOverflowException 的异常。的提问.
- 数据类单数与复数!如何不用复数类来管理单数类而用集合ArrayList!!!急急!!!
- 如何使DrawLines画出来的线条更圆滑一些呢?
- DataGrid问题:在数据中为11:00:00,可是到了dataGrid中变成了1899-00-00
- 一个关于C#递归的算法,求各路大神解答
- 水晶报表公式的使用
- 怎么样让我放在网络上的C#程序能够执行??
- 请在大学的哥们姐们帮帮忙!
- 有没有什么好的办法让DataGird只显示指定的列?急问的说
- 怎么在Excel中画对角线?用代码实现。
- 高手帮我看看这个为什么修改不来数据
catch(Exception ex)
{
Response.Write(ex.Message);
}估计是
cnPubs = new SqlConnection( "server=KANG;integrated security=true;database=guestbook" );
问题,把ASPNET账号(或者,如果是windows 2003的话,Network Service账号)加到数据库
去,或采用SQL认证,参考http://www.connectionstrings.comHOW TO: Configure SQL Server Security for .NET Applications
http://support.microsoft.com/kb/815154PRB:在创建从 ASP.NET 到 SQL Server 的受信任数据连接时出现“Login Failed”(登录失败)错误信息
http://support.microsoft.com/kb/316989/zh-cn
int n = cmdPubs.ExecuteNonQuery();
if (n > 0)
//成功加入
cnPubs = new SqlConnection( "server=KANG;uid=sa;database=guestbook pwd=;" );
cmdPubs.ExecuteNonQuery();
cmdPubs.Connection.Close();
被注释了,估计是在DataSet中调用更新语句如果想在上面的代码执行插入语句,
先要 cnPubs.Open();
再 cmdPubs.ExecuteNonQuery();
cnPubs = new SqlConnection( "server=KANG;integrated security=true;database=guestbook" );
// 创建一个SqlCommand对象,并指明其命令类型为存储过程
cmdPubs = new SqlCommand();
cmdPubs.Connection = cnPubs;
cmdPubs.CommandType = CommandType.StoredProcedure;
cmdPubs.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 );
cmdPubs.Parameters.Add( "@content", SqlDbType.Text, 16, Ycontent.Text); cmdPubs.Connection.Open();
cmdPubs.ExecuteNonQuery();
cmdPubs.Connection.Close();
http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx
cmdPubs.Parameters.Add( "@Yname", Yname.Text);
cmdPubs.Parameters.Add( "@sex", Ysex.Text);
cmdPubs.Parameters.Add( "@qq", YQQ.Text );
cmdPubs.Parameters.Add( "@email", YEmail.Text );
cmdPubs.Parameters.Add( "@homepage", Yhomepage.Text );
cmdPubs.Parameters.Add( "@caption", Ycaption.Text );
cmdPubs.Parameters.Add( "@content", Ycontent.Text); 写成这样
cmdPubs.Parameters.Add( "@homepage", SqlDbType.VarChar, 50, Yhomepage.Text );
cmdPubs.Parameters.Add( "@caption", SqlDbType.VarChar, 50, Ycaption.Text );
就不可以啦;