这是我名为addNews的存储过程
CREATE PROCEDURE dbo.AddNews
@publicDate datetime,
@source varchar (30) ,
@title varchar (100),
@content text,
@hits int,
@cat varchar (30)
AS
insert news(publicDate,source,title,content,hits,cat)
values (@publicDate,@source,@title,@content,@hits,@cat)
GO
下面的是给参数赋的值public void AddNews(ArrayList tempary)//本函数用于新闻的添加,查找,删除等操作。
{
SqlConnection cn=new SqlConnection(strConn);
SqlCommand cmd=new SqlCommand("AddNews",cn);//下面两句调用名为AddNews存储过程
cmd.CommandType =CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@publicDate",SqlDbType.DateTime));
cmd.Parameters["@publicDate"].Value =tempary[0]; cmd.Parameters.Add(new SqlParameter("@source",SqlDbType.VarChar,30 ));
cmd.Parameters["@source"].Value =tempary[1];
cmd.Parameters.Add(new SqlParameter("@title",SqlDbType.VarChar,100));
cmd.Parameters["@title"].Value =tempary[2]; cmd.Parameters.Add(new SqlParameter("@content",SqlDbType.Text ));
cmd.Parameters["@content"].Value =tempary[3];
cmd.Parameters.Add(new SqlParameter("@picture",SqlDbType.VarChar,50));
cmd.Parameters["@picture"].Value =tempary[4]; cmd.Parameters.Add(new SqlParameter("@cat",SqlDbType.VarChar,50));
cmd.Parameters["@cat"].Value =tempary[5]; cmd.Parameters.Add(new SqlParameter("@hits",SqlDbType.Int));
cmd.Parameters["@hits"].Value =0; try
{
cn.Open() ;
cmd.ExecuteNonQuery() ;
}
catch(System.Data.SqlClient.SqlException er)
{
throw new Exception(er.Message);
}
finally
{
cmd.Dispose() ;
cn.Close() ;
}
}
我现在也还没有搞清楚ArrayList数组中的值是怎么样与Parameters的值相对应的,请个为英雄把小第解决一下麻烦,我是新新手。最好举些列子
CREATE PROCEDURE dbo.AddNews
@publicDate datetime,
@source varchar (30) ,
@title varchar (100),
@content text,
@hits int,
@cat varchar (30)
AS
insert news(publicDate,source,title,content,hits,cat)
values (@publicDate,@source,@title,@content,@hits,@cat)
GO
下面的是给参数赋的值public void AddNews(ArrayList tempary)//本函数用于新闻的添加,查找,删除等操作。
{
SqlConnection cn=new SqlConnection(strConn);
SqlCommand cmd=new SqlCommand("AddNews",cn);//下面两句调用名为AddNews存储过程
cmd.CommandType =CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@publicDate",SqlDbType.DateTime));
cmd.Parameters["@publicDate"].Value =tempary[0]; cmd.Parameters.Add(new SqlParameter("@source",SqlDbType.VarChar,30 ));
cmd.Parameters["@source"].Value =tempary[1];
cmd.Parameters.Add(new SqlParameter("@title",SqlDbType.VarChar,100));
cmd.Parameters["@title"].Value =tempary[2]; cmd.Parameters.Add(new SqlParameter("@content",SqlDbType.Text ));
cmd.Parameters["@content"].Value =tempary[3];
cmd.Parameters.Add(new SqlParameter("@picture",SqlDbType.VarChar,50));
cmd.Parameters["@picture"].Value =tempary[4]; cmd.Parameters.Add(new SqlParameter("@cat",SqlDbType.VarChar,50));
cmd.Parameters["@cat"].Value =tempary[5]; cmd.Parameters.Add(new SqlParameter("@hits",SqlDbType.Int));
cmd.Parameters["@hits"].Value =0; try
{
cn.Open() ;
cmd.ExecuteNonQuery() ;
}
catch(System.Data.SqlClient.SqlException er)
{
throw new Exception(er.Message);
}
finally
{
cmd.Dispose() ;
cn.Close() ;
}
}
我现在也还没有搞清楚ArrayList数组中的值是怎么样与Parameters的值相对应的,请个为英雄把小第解决一下麻烦,我是新新手。最好举些列子
cmd.Parameters.Add("@publicDate",SqlDbType.Char).Value = tempary[0];
照样能插入日期你尝试在查询分析器中输入 Exec AddNews '2006-4-11',...参数
运行看能否插入,先确定是什么地方的问题
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[title] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[source] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[publicDate] [datetime] NULL ,
[content] [text] COLLATE Chinese_PRC_CI_AS NULL ,
[cat] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[picture] [image] NULL ,
[hits] [int] NOT NULL ,
PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
这是我的NEWS数据库,新手急啊,毕业设计时间不多了,
cmd.Parameters.Add(new SqlParameter("@publicDate",SqlDbType.DateTime));
cmd.Parameters["@publicDate"].Value =tempary[0];
这种操作方式改成如下
cmd.Parameters.Add(new SqlParameter("@publicDate",tempary[0] );
即可
cmd.Parameters.Add(new SqlParameter("@publicDate",tempary[0])); cmd.Parameters.Add(new SqlParameter("@source",tempary[1]));
cmd.Parameters.Add(new SqlParameter("@title",tempary[2]));
cmd.Parameters.Add(new SqlParameter("@content",tempary[3] ));
cmd.Parameters.Add(new SqlParameter("@picture",tempary[4]));
cmd.Parameters.Add(new SqlParameter("@cat",tempary[5]));
cmd.Parameters.Add(new SqlParameter("@hits",tempary[0]));
tempary的值该怎么赋,我这样赋对吗。我想应该不对,所以还是插不进去,请帮我解决一下,20分感谢