asp.net连接SQL数据库的问题
发布网友
发布时间:2022-04-10 07:02
我来回答
共8个回答
热心网友
时间:2022-04-10 08:32
配置文件中:
<configuration>
<appSettings/>
<connectionStrings>
<add name="conName" connectionString="Data Source=.;Initial Catalog=db;User ID=sa;Password=pwd"
providerName="System.Data.SqlClient" />
</connectionStrings>
读取:
引入命名空间:
using System.Configuration;
public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["conName"].ConnectionString;
连接数据库:
SqlConnection con=new SqlConnection(ConnectionStringLocalTransaction );
con.open();
SqlCommand cmd=new SqlCommand()
cmd.CommandType=CommandType.StoredProcere;
cmd.Connection=con;
cmd.CommandText="存储过程名称";
cmd.Parameters.Add("@par", SqlDbType.VarChar, 10);
cmd.Parameters["@par"].Value="参数值";
cmd.executenonQuery();
con.close();
热心网友
时间:2022-04-10 09:50
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace DABase
{
public class DataBase
{
}
public interface IDABase
{
DataTable SelectDataByProc(string procname,params object[] ps);
int UpdateDataByProc(string procname, params object[] ps);
int UpdateData(string str);
}
public class SQLDABase : IDABase
{
string strcon=System.Configuration.ConfigurationManager.AppSettings["strcon"].ToString();
SqlConnection sqlcon=null;
private void Open()
{
if(sqlcon==null)
{
sqlcon=new SqlConnection(strcon);
}
if(sqlcon.State==ConnectionState.Broken||sqlcon.State==ConnectionState.Closed)
{
sqlcon.Open();
}
}
private SqlCommand GetCommand(string procname,params object[] ps)//获得命令对像
{
Open();
SqlCommand sqlcmd=new SqlCommand();
sqlcmd.CommandText=procname;
sqlcmd.CommandType=CommandType.StoredProcere;
sqlcmd.Connection=sqlcon;
SqlParameter[] sqlpar=null;
if(ps!=null)
{
SqlCommandBuilder.DeriveParameters(sqlcmd);
sqlcmd.Parameters.RemoveAt(0);
sqlpar=new SqlParameter[sqlcmd.Parameters.Count];
sqlcmd.Parameters.CopyTo(sqlpar,0);
for(int i=0;i<sqlpar.Length;i++)
{
sqlpar[i].Value=ps[i];
}
}
return sqlcmd;
}
public DataTable SelectDataByProc(string procname, params object[] ps)//此方法用于查询数据库,用存储过程(带参数)
{
using (SqlCommand sqlcmd = GetCommand(procname, ps))
{
using (SqlDataAdapter sqladp = new SqlDataAdapter())
{
using (DataSet ds = new DataSet())
{
ds.Clear();
try
{
sqladp.SelectCommand = sqlcmd;
sqladp.Fill(ds);
return ds.Tables[0];
}
catch(Exception ex)
{
System.Console.WriteLine(ex.Message);
return new DataTable();
}
finally
{
sqlcon.Close();
}
}
}
}
}
public DataTable SelectDataByProc(string procname)//此方法用于查询数据库,用存储过程(不带参数)
{
using (SqlCommand sqlcmd = GetCommand(procname, null))
{
using (SqlDataAdapter sqladp = new SqlDataAdapter())
{
using (DataSet ds = new DataSet())
{
ds.Clear();
try
{
sqladp.SelectCommand = sqlcmd;
sqladp.Fill(ds);
return ds.Tables[0];
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
return new DataTable();
}
finally
{
sqlcon.Close();
}
}
}
}
}
public int UpdateDataByProc(string procname, params object[] ps)//此方法用于增删改数据库,用存储过程(带参数)
{
int i = 0;
using (SqlCommand sqlcmd = GetCommand(procname, ps))
{
try
{
i=sqlcmd.ExecuteNonQuery();
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
}
finally
{
sqlcon.Close();
}
}
return i;
}
public int UpdateData(string str)
{
int i = 0;
Open();
SqlCommand sqlcmd = new SqlCommand(str,sqlcon);
try
{
i=sqlcmd.ExecuteNonQuery();
}
catch(Exception ex)
{
System.Console.WriteLine(ex.Message);
}
finally
{
sqlcon.Close();
}
return i;
}
}
}
呵呵,最近做的项目里拿出来的
热心网友
时间:2022-04-10 11:24
引用命名空间:
using System.Configuration;
在代码中加入如下代码即可:
SqlConnection con=new SqlConnection("Server=服务器名称;uid=用户名;pwd=用户密码;database=数据库名称");
con.open();
SqlCommand cmd=new SqlCommand()
cmd.CommandType=CommandType.StoredProcere;
cmd.Connection=con;
cmd.Parameters.Add("@par",SqlDbType.VarChar, 10);
cmd.Parameters["@par"].Value="参数值";
cmd.CommandText="存储过程名称";
con.close();
cmb.executenonQuery();
热心网友
时间:2022-04-10 13:16
按照楼上的方法配置好数据库连接,然后这样做
con.open();
SqlCommand cmd = new SqlCommand("存储过程名字",con);
cmd.CommandType = CommandType.StoredProcere;
cmd.Parameters.Add("@参数名",SqlDbType.Int);
cmd.Parameters["@参数名"].Value =在这赋值;
cmd.ExecuteNonQuery();
con.close();
热心网友
时间:2022-04-10 15:24
你好:
我做的网站里面是这样用的:
string
connstr
=
"server=.;User
id=sa;Pwd=sa;database=tszls";
string
sql
=
"select
*
from
t_全局报警
where
记录时间<='2008-01-31'
and
记录时间>='2008-01-01'";
SqlConnection
conn
=
new
SqlConnection(connstr);
SqlDataAdapter
da
=
new
SqlDataAdapter(sql,conn);
DataSet
ds
=
new
DataSet();
da.Fill(ds);
ds.Tables[0];
热心网友
时间:2022-04-10 17:48
不写表名也可以啊,都放在存储过程你就是了,调用是只要调用存储过程名就好了!!
热心网友
时间:2022-04-10 20:30
图片看不清什么问题
请把代码贴出来,帮你看看
热心网友
时间:2022-04-10 23:28
SqlConnection con = new SqlConnection("server=.;database=datatablename;uid=sa;pwd=;");