aspnet中的存储过程
1. 在asp.net(c#)中如何用sql语句调用服务器端的存储过程
如果已知了
服务器端
有你需要的
存储过程
,则第一步需要使你的程序和服务器先建立起连接,连接成功之后可以写一个
sql语句
:exec
存储过程名(不带参的存储过程)就行了,当然这些可以在你的程序里写也可以在你的程序里写语句用来调用完成上述sql语句的存储过程名即把上面的exec
存储过程名
封装在另一个存储过程里,在程序里通过.net
里的
sqlcommand
和
sqlconnection
类来实现完成上面所述的语句
2. C#.net中如何使用存储过程
数据库中
create proc User_Login
(
@LoginCode nvarchar(20),
@password nvarchar(50)
)
as
select count(*) from [你的用户表名] where LoginCode =@LoginCode ,password=@password
public bool User_login(Users user)//用户登录
{
SqlCommand cmd = new SqlCommand("User_Login", conn); //User_Login是你数据库里的存储过程名称。
cmd.CommandType = CommandType.StoredProcere;
cmd.Parameters.Add("@LoginCode", SqlDbType.VarChar, 50).Value = user.logincode;//为存储过程的用户名赋值。
cmd.Parameters.Add("@password", SqlDbType.VarChar, 50).Value = user.pwd;//为存储过程的密码赋值。
try
{
conn.Open();
if (Convert.ToInt32(cmd.ExecuteScalar()) > 0)
{
return true;
}
else
return false;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
conn.Close();
cmd.Dispose();
}
}
3. 如何在网站建设(asp.net)中使用存储过程
我有项目用的是存储过程 你要就告诉我 public static SqlCommand CreateCmd(string procName, SqlParameter[] prams, SqlConnection Conn)
{
SqlConnection SqlConn = Conn;
if (SqlConn.State.Equals(ConnectionState.Closed))
{
SqlConn.Open();
}
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcere;//按照存储过程解决
Cmd.Connection = SqlConn;
Cmd.CommandText = procName;//存储过程名
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
if (parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}
4. 数据库中有几万条数据,怎样使用aspnetpage分页控件结合数据库分页读取呢
可以用存储过程分页
/*
函数名称: GetRecordFromPage
函数功能: 获取指定页的数据
参数说明: @tblName 包含数据的表名
@fldName 关键字段名
@PageSize 每页记录数
@PageIndex 要获取的页码
@OrderType 排序类型, 0 - 升序, 1 - 降序
@strWhere 查询条件 (注意: 不要加 where)
*/
CREATE PROCEDURE GetRecordFromPage
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(2000) = '' -- 查询条件 (注意: 不要加 where)
AS
declare @strSQL varchar(6000) -- 主语句
declare @strTmp varchar(1000) -- 临时变量
declare @strOrder varchar(500) -- 排序类型
if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @fldName + '] desc'
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by [' + @fldName +'] asc'
end
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'
+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
if @PageIndex = 1
begin
set @strTmp = ''
if @strWhere != ''
set @strTmp = ' where (' + @strWhere + ')'
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + ']' + @strTmp + ' ' + @strOrder
end
exec (@strSQL)
GO
5. 代码中使用aspnet_User表需要用到什么引用
1.先做成实体类。即model层。字段封装好之后。在DAL里面导入命名空间就可以用。
2.如果你问的不是这个问题,那么应该指的是VS直接连接数据库,然后代码里面引用表结构。
这个就需要用到LINQ了。VS2008集成的有LINQ。
如果你是VS2008,那么就很简单了。
首先,用VS连接数据库,(服务器资源管理器--右键数据库连接---添加连接--MicrosoftSqlServer--后面的呢自己输了。。。)
连接好之后。
1.右键你解决方案下面的网站,然后选择“添加新项”,在打开的对话框中找到“LINQtoSQL类”添加进来。
2.他会提示你添加到APP_Code文件夹下面,这些都不用管。你只管到左边你已经添加好的数据库中找到你想要添加的表。
3.打开你添加的“LINQ”名字你一般不要修改,叫“DataClasses.dbml”,双击打开,把选好的表拖进去。这样引用表就完成了,下面是让他自动生成方法。
4.把你想要对表的操作写成存储过程,然后把存储过程直接拖到右侧,我下面给你的例子左边有3张拖进去的表,右边有3个拖进去的存储过程。拖好之后,记住保存。
5.最后,你会发现“DataClasses.dbml”下面有一个类:“DataClasses.designer.cs”这个里面就是他根据你的表还有存储过程生成的代码,类似DAL层,但是他里面还有你的表的实体,字段的封装,方法统统都有,属于是3层的融合,它里面有自己的一些独特属性,你可以研究研究。
6.等所有操作完成之后,你在类里面引入命名空间,然后就调用方法就可以了。。真的很方便,下面我给你贴一张图,你看看。然后底下是自动生成的代码其中的一小段,因为我用了3长表,代码太多,只贴一段代码给你看。
#pragmawarningdisable1591
//------------------------------------------------------------------------------
//<auto-generated>
//此代码由工具生成。
//运行库版本:2.0.50727.3603
//
//对此文件的更改可能会导致不正确的行为,并且如果
//重新生成代码,这些更改将会丢失。
//</auto-generated>
//------------------------------------------------------------------------------
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.Linq;
usingSystem.Data.Linq.Mapping;
usingSystem.Linq;
usingSystem.Linq.Expressions;
usingSystem.Reflection;
[System.Data.Linq.Mapping.DatabaseAttribute(Name="PropertyHome")]
:System.Data.Linq.DataContext
{
privatestaticSystem.Data.Linq.Mapping.MappingSourcemappingSource=newAttributeMappingSource();
#
partialvoidOnCreated();
partialvoidInsertT_PH_UserEstinfo(T_PH_UserEstinfoinstance);
partialvoidUpdateT_PH_UserEstinfo(T_PH_UserEstinfoinstance);
partialvoidDeleteT_PH_UserEstinfo(T_PH_UserEstinfoinstance);
#endregion
publicDataClassesDataContext():
base(global::System.Configuration.ConfigurationManager.ConnectionStrings["PropertyHomeConnectionString"].ConnectionString,mappingSource)
{
OnCreated();
}
publicDataClassesDataContext(stringconnection):
base(connection,mappingSource)
{
OnCreated();
}
publicDataClassesDataContext(System.Data.IDbConnectionconnection):
base(connection,mappingSource)
{
OnCreated();
}
publicDataClassesDataContext(stringconnection,System.Data.Linq.Mapping.MappingSourcemappingSource):
base(connection,mappingSource)
{
OnCreated();
}
publicDataClassesDataContext(System.Data.IDbConnectionconnection,System.Data.Linq.Mapping.MappingSourcemappingSource):
base(connection,mappingSource)
{
OnCreated();
}
publicSystem.Data.Linq.Table<agent_score>agent_score
{
get
{
returnthis.GetTable<agent_score>();
}
}
publicSystem.Data.Linq.Table<estinfo>estinfo
{
get
{
returnthis.GetTable<estinfo>();
}
}
publicSystem.Data.Linq.Table<T_PH_UserEstinfo>T_PH_UserEstinfo
{
get
{
returnthis.GetTable<T_PH_UserEstinfo>();
}
}
[Function(Name="dbo.PA_GetEstByCode")]
publicISingleResult<PA_GetEstByCodeResult>PA_GetEstByCode([Parameter(DbType="VarChar(50)")]stringestCode,[Parameter(Name="Type",DbType="Int")]System.Nullable<int>type)
{
IExecuteResultresult=this.ExecuteMethodCall(this,((MethodInfo)(MethodInfo.GetCurrentMethod())),estCode,type);
return((ISingleResult<PA_GetEstByCodeResult>)(result.ReturnValue));
}
[Function(Name="dbo.PA_GetPlate")]
publicISingleResult<PA_GetPlateResult>PA_GetPlate([Parameter(DbType="Int")]System.Nullable<int>op_no,[Parameter(DbType="Int")]System.Nullable<int>page,[Parameter(DbType="Int")]System.Nullable<int>rows,[Parameter(DbType="VarChar(50)")]stringuserid,[Parameter(DbType="VarChar(50)")]stringestName)
{
IExecuteResultresult=this.ExecuteMethodCall(this,((MethodInfo)(MethodInfo.GetCurrentMethod())),op_no,page,rows,userid,estName);
return((ISingleResult<PA_GetPlateResult>)(result.ReturnValue));
}
[Function(Name="dbo.PA_GetEstInfoByName")]
publicISingleResult<PA_GetEstInfoByNameResult>PA_GetEstInfoByName([Parameter(DbType="VarChar(50)")]stringestName,[Parameter(DbType="VarChar(50)")]stringstfID,[Parameter(DbType="Int")]System.Nullable<int>page,[Parameter(DbType="Int")]System.Nullable<int>rows,[Parameter(Name="Type",DbType="Int")]System.Nullable<int>type)
{
IExecuteResultresult=this.ExecuteMethodCall(this,((MethodInfo)(MethodInfo.GetCurrentMethod())),estName,stfID,page,rows,type);
return((ISingleResult<PA_GetEstInfoByNameResult>)(result.ReturnValue));
}
}
[Table(Name="dbo.agent_score")]
publicpartialclassagent_score
{
privatestring_AgentNo;
privatestring_AgentCName;
privatestring_AgentName;
privatestring_AgentMobile;
privatestring_AgentEmail;
privatestring_AgentLicense;
privatestring_BranchCName;
privateSystem.Nullable<int>_post_counter;
privatestring_agentphoto;
privatestring_Agentpage;
privatestring_enquirypage;
privatestring_scpid;
privatestring_scpMkt;
privatestring_scp_c;
privateSystem.Nullable<double>_agentscore;
privateSystem.Nullable<double>_agentscore1;
privateSystem.Nullable<double>_agentscore2;
privateSystem.Nullable<double>_agentscore3;
privateSystem.Nullable<double>_agentscore4;
privateSystem.Nullable<double>_agentscore5;
privateSystem.Nullable<double>_agentscore6;
publicagent_score()
{
}
[Column(Storage="_AgentNo",DbType="NVarChar(10)NOTNULL",CanBeNull=false)]
publicstringAgentNo
{
get
{
returnthis._AgentNo;
}
set
{
if((this._AgentNo!=value))
{
this._AgentNo=value;
}
}
}
[Column(Storage="_AgentCName",DbType="NVarChar(50)")]
publicstringAgentCName
{
get
{
returnthis._AgentCName;
}
set
{
if((this._AgentCName!=value))
{
this._AgentCName=value;
}
}
}
。。。其它的操作看你自己咯~~~
谢谢,望采纳,我很辛苦啊,,,呵呵。。
6. C# .net 是怎么使用 存储过程的,来几句简单明了的代码
1.构造与Sql服务器连接对象
SqlConnection MyCon = new SqlConnection()
2.构造SqlCommand对象
SqlCommand MyCmd = new SqlCommand()
3.指定SqlCommand对象调用的存储过程
MyCmd.CommandText = "ProcereName"
ProcereName是Sql数据库中实际存在的存储过程名
4.声明SqlCommand对象的命令类型为存储过程
MyCmd.CommandType = CommandType.StoredProcere
5.构造参数对象
SqlParameter MyParam = new SqlParameter("@ParamName",类型,宽度);
@ParamName:是调用存储过程的参数,参数名必需和现有的存储过程一致
类型:SqlDbType.Char字符型,C#中用SqlDbType存储了Sql数据类型
宽度:类型字宽.如char(15)
6.赋值给参数对象
MyParam.Value = Value
7.将参数添加到SqlCommand对象
MyCmd.Parameters.Add(MyParam)
8.打开Sql连接对象
MyCon.Open()
9.执行SqlCommand
MyCmd.ExecuteNonQuery()
10.关闭Sql连接对象
MyCon.Close()
7. mssql2005 数据库多出很多 aspnet_xxxx 的数据表
可能的情况:
1.你安装了什么网络应用方面的软件,在你的数据库中创建的对象
2.能访问你数据库的人建的,问问身边的人是不是做什么试验了
3.你的机器被入侵,已经成了肉机了
8. ASPNET怎样调用一个存储过程(带参数的)
ASPNET怎样调用一个存储过程(带参数的)使用的是Ado.NET中的相关的数据库操作方法。
Ado.NET连接数据库有以下几个步骤:
1:使用配置的数据库连接串,创建数据库连接 Connection 对象
2:构建操作的sql语句
3:定义command对象
4:打开数据连接
5:执行命令
举一个例子,删除操作
public int DeleteStudent3(int stuID)
{
int result = 0;
using (SqlConnection connection = new SqlConnection(connString))
{
SqlCommand objCommand = new SqlCommand(dboOwner + ".usp_DeleteStudent", connection);
objCommand.CommandType = CommandType.StoredProcere;
objCommand.Parameters.Add("@stuID", SqlDbType.Int).Value = stuID;
connection.Open();
result = objCommand.ExecuteNonQuery();
}
return result;
}
9. asp.net(c#)将图片存入数据库存储过程代码.
其实
只有一条添加的SQL语句,不需要存储过程,
insert
into
ImageStore
values(,,,,,)首先将
图片转换成二进制数据private
Byte[]
setPhotoByte(string
photoPath)
{
if
(photoPath
!=
null
)
{
string
str
=
photoPath;//保存传入的路径
//将传入路径下的图片以文件方式打开
file
=
new
FileStream(str,
FileMode.Open,
FileAccess.Read);//以只读方式打开传入路劲下的图片
Byte[]
byteSQLData
=
new
byte[file.Length];
file.Read(byteSQLData,
0,
byteSQLData.Length);//将文件中的数据读入到创建的byte数据中
file.Close();
MessageBox.Show(photoPath);
return
byteSQLData;
}
}需要传一个参数
,文件路径,可以用
OpenFileDialog
选择图片最后将转换好的二进制数据
byteSQLData
直接保存到数据库
表的字段ImageData
中完成保存显示图片:
将数据库中数据图片控件
.Image
=Image
.FromStream
(new
MemoryStream
(Byte[]
数据库数据));
即可显示该图片
10. asp.net(c#)中如何使用存储过程请大家帮忙
public DataSet getDataByPage(int pageIndex)
{
DataSet ds = new DataSet();
String m_connectionString = ConfigurationSettings.AppSettings["connectionString"].Trim();
OleDbConnection conn = null;
String tablename = " mytable"; //表名
String orderName = "orderTime"; //排序的字段名
try
{
conn = new OleDbConnection(m_connectionString);
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "pagination";
cmd.CommandType = CommandType.StoredProcere;
cmd.Connection = conn;
cmd.Parameters.Add(new OleDbParameter("@tablename",OleDbType.VarChar));
cmd.Parameters["@tablename"].Value = tablename;
cmd.Parameters.Add(new OleDbParameter("@tableField",OleDbType.VarChar));
cmd.Parameters["@tableField"].Value = " * " ;
cmd.Parameters.Add(new OleDbParameter("@orderName",OleDbType.VarChar));
cmd.Parameters["@orderName"].Value = orderName;
cmd.Parameters.Add(new OleDbParameter("@pageSize",OleDbType.Integer));
cmd.Parameters["@pageSize"].Value = m_pageSize;
cmd.Parameters.Add(new OleDbParameter("@pageIndex",OleDbType.Integer));
cmd.Parameters["@pageIndex"].Value = pageIndex;
cmd.Parameters.Add(new OleDbParameter("@doCount",OleDbType.Integer));
cmd.Parameters["@doCount"].Value = 0;
cmd.Parameters.Add(new OleDbParameter("@orderType",OleDbType.Integer));
cmd.Parameters["@orderType"].Value = 1;
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(ds,"music");
}
catch(Exception e)
{
System.Diagnostics.Trace.WriteLine(e.Message);
}
finally
{
conn.Close();
}
return ds;
}
//绑定数据到DateGrid
private void BindData(int pageIndex)
{
DataView dataview = new DataView(this.getDataByPage(pageIndex).Tables["newdata"]);
DataGrid1.DataSource = dataview;
DataGrid1.DataBind();
}
应该没有问题!