数据库操作中的函数应用(难忘的 字符串连接出错~!
2006-01-13 23:25
846 查看
函数过程如下:
CREATE function xp_walkradio_article
(@username nvarchar(20))
returns table
return
(
select program_info.p_title,walkradio.w_domain_name,walkradio.p_id,walkradio.wid
from walkradio,program_info
where program_info.p_big_class=1 and program_info.program_id=walkradio.p_id and walkradio.w_username=@username
)
调用如下:
//挑选四个收藏(音乐收藏)
private void select_walkradio_yinyue(string str_parameter)
{
visitedabe MyVisiteDabe=new visitedabe();
MyVisiteDabe.procedurename="select * from wotian_things.dbo.xp_walkradio_sound('"+str_parameter+"')";
MyVisiteDabe.mydataadapter=new SqlDataAdapter(MyVisiteDabe.procedurename,MyVisiteDabe.myConnection);
MyVisiteDabe.mydataadapter.SelectCommand.CommandType=CommandType.Text;
MyVisiteDabe.OpenBase();
MyVisiteDabe.mydataset=new DataSet();
MyVisiteDabe.mydataadapter.Fill(MyVisiteDabe.mydataset,"yinyue");
datalist_yinyue.DataSource=MyVisiteDabe.mydataset.Tables["yinyue"].DefaultView;
datalist_yinyue.DataBind();
MyVisiteDabe.CloseBase();
}
第一次节目设计到函数和存贮过程
存贮过程:
CREATE PROCEDURE xp_add_walkradio_programe
@str_username nvarchar(20),
@p_id int,
@result tinyint output
as
SET XACT_ABORT ON
begin transaction
--挑选域名
declare @str_domain_name nvarchar(100)
select @str_domain_name=u_domain_name from program_info where program_id=@p_id
--添加收藏
insert into walkradio(w_username,w_domain_name,p_id)
values(@str_username,@str_domain_name,@p_id)
--更新节目听众
update user_radio_info set r_listen_count=r_listen_count+1,r_see_count=r_see_count+1
where r_domain_name=@str_domain_name
--更新节目浏览人数
update program_info set p_see_count=p_see_count+1 where program_id=@p_id
if(@@error=0)
begin
commit transaction
set @result=1
end
else
begin
rollback transaction
set @result=0
end
SET XACT_ABORT OFF
GO
函数:
CREATE function xp_check_programe_walkradio
(@username varchar(20),@int_pid int)
returns tinyint
begin
declare @int_return tinyint
if (exists(select p_id from walkradio where w_username=@username and p_id=@int_pid))
set @int_return=1
else
set @int_return=0
return @int_return
end
调用函数的过程:
private bool xp_check_programe_walkradio_1(string str_parameter,int int_parameter)
{
visitedabe MyVisiteDabe=new visitedabe();
MyVisiteDabe.procedurename="select wotian_things.dbo.xp_check_programe_walkradio('"+str_parameter+"',"+int_parameter+") as 'return_check'";
MyVisiteDabe.mysqlcommand.CommandType = CommandType.Text;
MyVisiteDabe.mysqlcommand.CommandText=MyVisiteDabe.procedurename;
MyVisiteDabe.OpenBase();
int int_return1=Convert.ToInt32(MyVisiteDabe.mysqlcommand.ExecuteScalar());
MyVisiteDabe.CloseBase();
if(int_return1==1)
{
return false;
}
else
{
return true;
}
}
调用存贮过程:
private void Button1_Click(object sender, System.EventArgs e)
{
if(xp_check_programe_walkradio_1(str_name,int_pid)==false)
{
Page.RegisterStartupScript("js","<script>alert('添加失败 你已经收藏了这个节目!')</script>");
Response.Write("<script>setTimeout('window.close()',100);</script>");
return;
}
visitedabe MyVisiteDabe=new visitedabe();
MyVisiteDabe.procedurename="xp_add_walkradio_programe";
MyVisiteDabe.mysqlparameter=MyVisiteDabe.mysqlcommand.Parameters.Add("@str_username", SqlDbType.NVarChar,20);
MyVisiteDabe.mysqlparameter.Direction=ParameterDirection.Input;
MyVisiteDabe.mysqlcommand.Parameters["@str_username"].value="/str_name;
MyVisiteDabe.mysqlparameter=MyVisiteDabe.mysqlcommand.Parameters.Add(""@p_id", SqlDbType.Int);
MyVisiteDabe.mysqlparameter.Direction=ParameterDirection.Input;
MyVisiteDabe.mysqlcommand.Parameters["@p_id"].value="/int_pid;
MyVisiteDabe.mysqlparameter=MyVisiteDabe.mysqlcommand.Parameters.Add(""@result", SqlDbType.TinyInt);
MyVisiteDabe.mysqlparameter.Direction=ParameterDirection.Output;
MyVisiteDabe.OpenBase();
MyVisiteDabe.mysqlcommand.CommandType = CommandType.StoredProcedure;
MyVisiteDabe.mysqlcommand.CommandText=MyVisiteDabe.procedurename;
MyVisiteDabe.mysqlcommand.ExecuteNonQuery();
MyVisiteDabe.CloseBase();
int int_return=Convert.ToInt16(MyVisiteDabe.mysqlcommand.Parameters["@result"].Value);
if(int_return==1)
{
Page.RegisterStartupScript("js","<script>alert('添加成功,请继续添加其他!')</script>");
Response.Write("<script>setTimeout('window.close()',100);</script>");
}
else
{
Page.RegisterStartupScript("js","<script>alert('添加失败 请确认你的权限和操作!')</script>");
}
}
CREATE function xp_walkradio_article
(@username nvarchar(20))
returns table
return
(
select program_info.p_title,walkradio.w_domain_name,walkradio.p_id,walkradio.wid
from walkradio,program_info
where program_info.p_big_class=1 and program_info.program_id=walkradio.p_id and walkradio.w_username=@username
)
调用如下:
//挑选四个收藏(音乐收藏)
private void select_walkradio_yinyue(string str_parameter)
{
visitedabe MyVisiteDabe=new visitedabe();
MyVisiteDabe.procedurename="select * from wotian_things.dbo.xp_walkradio_sound('"+str_parameter+"')";
MyVisiteDabe.mydataadapter=new SqlDataAdapter(MyVisiteDabe.procedurename,MyVisiteDabe.myConnection);
MyVisiteDabe.mydataadapter.SelectCommand.CommandType=CommandType.Text;
MyVisiteDabe.OpenBase();
MyVisiteDabe.mydataset=new DataSet();
MyVisiteDabe.mydataadapter.Fill(MyVisiteDabe.mydataset,"yinyue");
datalist_yinyue.DataSource=MyVisiteDabe.mydataset.Tables["yinyue"].DefaultView;
datalist_yinyue.DataBind();
MyVisiteDabe.CloseBase();
}
第一次节目设计到函数和存贮过程
存贮过程:
CREATE PROCEDURE xp_add_walkradio_programe
@str_username nvarchar(20),
@p_id int,
@result tinyint output
as
SET XACT_ABORT ON
begin transaction
--挑选域名
declare @str_domain_name nvarchar(100)
select @str_domain_name=u_domain_name from program_info where program_id=@p_id
--添加收藏
insert into walkradio(w_username,w_domain_name,p_id)
values(@str_username,@str_domain_name,@p_id)
--更新节目听众
update user_radio_info set r_listen_count=r_listen_count+1,r_see_count=r_see_count+1
where r_domain_name=@str_domain_name
--更新节目浏览人数
update program_info set p_see_count=p_see_count+1 where program_id=@p_id
if(@@error=0)
begin
commit transaction
set @result=1
end
else
begin
rollback transaction
set @result=0
end
SET XACT_ABORT OFF
GO
函数:
CREATE function xp_check_programe_walkradio
(@username varchar(20),@int_pid int)
returns tinyint
begin
declare @int_return tinyint
if (exists(select p_id from walkradio where w_username=@username and p_id=@int_pid))
set @int_return=1
else
set @int_return=0
return @int_return
end
调用函数的过程:
private bool xp_check_programe_walkradio_1(string str_parameter,int int_parameter)
{
visitedabe MyVisiteDabe=new visitedabe();
MyVisiteDabe.procedurename="select wotian_things.dbo.xp_check_programe_walkradio('"+str_parameter+"',"+int_parameter+") as 'return_check'";
MyVisiteDabe.mysqlcommand.CommandType = CommandType.Text;
MyVisiteDabe.mysqlcommand.CommandText=MyVisiteDabe.procedurename;
MyVisiteDabe.OpenBase();
int int_return1=Convert.ToInt32(MyVisiteDabe.mysqlcommand.ExecuteScalar());
MyVisiteDabe.CloseBase();
if(int_return1==1)
{
return false;
}
else
{
return true;
}
}
调用存贮过程:
private void Button1_Click(object sender, System.EventArgs e)
{
if(xp_check_programe_walkradio_1(str_name,int_pid)==false)
{
Page.RegisterStartupScript("js","<script>alert('添加失败 你已经收藏了这个节目!')</script>");
Response.Write("<script>setTimeout('window.close()',100);</script>");
return;
}
visitedabe MyVisiteDabe=new visitedabe();
MyVisiteDabe.procedurename="xp_add_walkradio_programe";
MyVisiteDabe.mysqlparameter=MyVisiteDabe.mysqlcommand.Parameters.Add("@str_username", SqlDbType.NVarChar,20);
MyVisiteDabe.mysqlparameter.Direction=ParameterDirection.Input;
MyVisiteDabe.mysqlcommand.Parameters["@str_username"].value="/str_name;
MyVisiteDabe.mysqlparameter=MyVisiteDabe.mysqlcommand.Parameters.Add(""@p_id", SqlDbType.Int);
MyVisiteDabe.mysqlparameter.Direction=ParameterDirection.Input;
MyVisiteDabe.mysqlcommand.Parameters["@p_id"].value="/int_pid;
MyVisiteDabe.mysqlparameter=MyVisiteDabe.mysqlcommand.Parameters.Add(""@result", SqlDbType.TinyInt);
MyVisiteDabe.mysqlparameter.Direction=ParameterDirection.Output;
MyVisiteDabe.OpenBase();
MyVisiteDabe.mysqlcommand.CommandType = CommandType.StoredProcedure;
MyVisiteDabe.mysqlcommand.CommandText=MyVisiteDabe.procedurename;
MyVisiteDabe.mysqlcommand.ExecuteNonQuery();
MyVisiteDabe.CloseBase();
int int_return=Convert.ToInt16(MyVisiteDabe.mysqlcommand.Parameters["@result"].Value);
if(int_return==1)
{
Page.RegisterStartupScript("js","<script>alert('添加成功,请继续添加其他!')</script>");
Response.Write("<script>setTimeout('window.close()',100);</script>");
}
else
{
Page.RegisterStartupScript("js","<script>alert('添加失败 请确认你的权限和操作!')</script>");
}
}
相关文章推荐
- ado.net关于操作数据库的连接字符串整理
- delphi中弹出(ADO)数据库连接字符串对话框的函数
- python_11(format、转义字符、连接字符、字符串操作函数、字符串反转)
- Postgresql数据库——字符串操作函数
- 将数据库连接字符串异或操作后存放到INI文件中是否安全?是不是很容易就被别人解密出来?
- 数据库:连接字符串,操作等
- 关于字符串操作的一些函数简单说明与应用
- Postgresql数据库的一些字符串操作函数
- 单例模式在JDBC数据库连接操作里的应用
- CF MVC3此操作要求连接到 'master' 数据库。无法创建与 'master' 数据库之间的连接,这是因为已打开原始数据库连接,并且已从连接字符串中删除凭据。请提供未打开的连接 解决方法
- Postgresql数据库的一些字符串操作函数(转)
- "此操作要求连接到 'master' 数据库。无法创建与 'master' 数据库之间的连接,这是因为已打开原始数据库连接,并且已从连接字符串中删除凭据。请提供未打开的连接。"
- IIS7 数据库连接出错!请检查连接数据库的参数及字符串设置是否正确!
- 与数据库进行异步操作的连接字符串的写法
- 数据库 字符串连接函数
- 单例模式在JDBC数据库连接操作里的应用
- Postgresql数据库的一些字符串操作函数
- C程序(scanf函数应用、字符串中取小数、两文件COPY、指针操作、stdout、stdin、stderr、sscanf、sprintf函数)
- Postgresql数据库的一些字符串操作函数
- 关于c#数据库的简单应用-datagriview连接数据库及更相关操作