C# b/s模式连接数据库

ABCDEFGIUY 2011-01-27 11:39:12
(1)我想连接一个数据库,思路是在项目下新建了个文件夹,文件夹里新建了一个类,方便我以后在需要连接数据库的时候进行引用,代码如下
public class Class1
{
public static SqlConnection mssql()
{
return new SqlConnection("Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=192.168.1.150");
}
}

问题是我在引用的时候,用SqlConnection sqllianjie= 等号右边总是引用不到我创建的这个类,不知道问题出在哪里?


(2)我用panel做的登陆封面,怎样让它打开默认全屏显示?我在panel控件里用了一张背景图片,我手动全屏后,图片能不能也随着全屏,现在图片只占用panel一半部分。


呵呵,我提的问题都挺菜的,希望不要笑话
...全文
350 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
哥子谭 2011-01-30
  • 打赏
  • 举报
回复
Class1.mssql()来引用
davidcoffee 2011-01-30
  • 打赏
  • 举报
回复
你没有实例化过这个类吧,要么就像楼上的朋友说的弄成static不过建议写在web.config中式最好的
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="cnStr" connectionString="Data Source=192.168.1.150; Initial Catalog=test;User ID=sa;Password=123456;Persist Security Info=True;"/>
</connectionStrings>
</configuration>
这样以后改起来也方便~希望对你有用
心灵彩虹 2011-01-30
  • 打赏
  • 举报
回复

//接楼上
/// <summary>
/// 按照给定的记录行索引、字段名称获取单元格的值
/// </summary>
/// <param name="paraDtObj"></param>
/// <param name="paraRowPos"></param>
/// <param name="paraFieldName"></param>
/// <returns></returns>
public static object getItmValue(DataTable paraDtObj, int paraRowPos, string paraFieldName)
{
object rto = null;
if (paraDtObj.Rows.Count > 0)
{
try
{
rto = paraDtObj.Rows[paraRowPos][paraFieldName];
}
catch
{

}
}
return rto;
}
/// <summary>
/// 按照给定的key和key值、字段名称获取满足体检的第一行记录单元格的值
/// </summary>
/// <param name="paraDtObj"></param>
/// <param name="paraKey"></param>
/// <param name="paraID"></param>
/// <param name="paraFieldName"></param>
/// <returns></returns>
public static object getItmValue(DataTable paraDtObj, string paraKey, string paraID, string paraFieldName)
{
object rto = null;
if (paraDtObj.Rows.Count > 0)
{
try
{
DataRow[] drs;
drs = paraDtObj.Select(paraKey + "=" + paraID);
if (drs.Length > 0)
{
rto = drs[0][paraFieldName];
}
}
catch
{

}
}
return rto;
}
/// <summary>
/// 按照给定的行索引和数据集获取行记录到HashTable中
/// </summary>
/// <param name="paraDtObj"></param>
/// <param name="iRow"></param>
/// <returns></returns>
public static Hashtable getItm(DataTable paraDtObj,int iRow)
{
Hashtable rtHT = new Hashtable();
for (int iPos = 0; iPos < paraDtObj.Columns.Count; iPos++)
{
if (paraDtObj.Columns[iPos] != null)
{
object o = paraDtObj.Rows[iRow][iPos];
string tmp = paraDtObj.Columns[iPos].ColumnName;
if (paraDtObj.Columns[iPos].DataType == System.Type.GetType("System.DateTime"))
{

if (o != null)
{
if (o.ToString() != "")
{
DateTime dt = (DateTime)o;
rtHT.Add(tmp, dt.ToString("yyyy-MM-dd hh:mm:ss"));
}
else
{
rtHT.Add(tmp, "");
}
}
else
{
rtHT.Add(tmp,"");
}
}
else //if (paraDtObj.Columns[iPos].DataType == System.Type.GetType("System.String"))
{
rtHT.Add(tmp, o.ToString().Trim());
}
}

}
return rtHT;
}
public static Hashtable getItm(DataTable paraDtObj, string paraKey, string paraID)
{
int iRow = -1;
iRow = getItmIndex(paraDtObj,paraKey,paraID);
Hashtable rtHT = new Hashtable();
for (int iPos = 0; iPos < paraDtObj.Columns.Count; iPos++)
{
if (paraDtObj.Columns[iPos] != null)
{
object o = paraDtObj.Rows[iRow][iPos];
string tmp = paraDtObj.Columns[iPos].ColumnName;
if (paraDtObj.Columns[iPos].DataType == System.Type.GetType("System.DateTime"))
{

if (o != null)
{
if (o.ToString() != "")
{
DateTime dt = (DateTime)o;
rtHT.Add(tmp, dt.ToString("yyyy-MM-dd hh:mm:ss"));
}
else
{
rtHT.Add(tmp, "");
}
}
else
{
rtHT.Add(tmp, "");
}
}
else //if (paraDtObj.Columns[iPos].DataType == System.Type.GetType("System.String"))
{
rtHT.Add(tmp, o.ToString().Trim());
}
}

}
return rtHT;
}
}

心灵彩虹 2011-01-30
  • 打赏
  • 举报
回复

///强大的发个数据库连接处理通用类*********************
/// <summary>
/// DB 的说明
/// 该类封装了system.data.sqlceilt下的数据库连接方法
/// </summary>
public class DB : IDisposable
{
#region//字段
/// <summary>
/// 数据库的连接对象
/// </summary>
public System.Data.SqlClient.SqlConnection conn;
#endregion

#region//属性
/// <summary>
/// 数据库类的数据库连接字符串
/// </summary>
public string sConnString;

#endregion

#region//方法
/// <summary>
/// DB类的构造函数
/// </summary>
/// <param name="sConString">数据的连接字符串</param>
public DB(string sConString)
{

this.sConnString = sConString;
if (this.conn == null)
conn = new SqlConnection(this.sConnString);
}
/// <summary>
/// DB类的构造函数
/// </summary>
public DB()
{
System.Configuration.AppSettingsReader configurationAppSettings = new System.Configuration.AppSettingsReader();
this.sConnString = ((string)(configurationAppSettings.GetValue("ConnectionStringCop", typeof(string))));
if (this.conn == null)
conn = new SqlConnection(this.sConnString);
}
/// <summary>
/// 打开数据库连接
/// </summary>
public void Open()
{
if (this.conn.State != ConnectionState.Open)
this.conn.Open();
}
/// <summary>
/// //关闭数据的连接
/// </summary>
public void Close()
{
if (this.conn.State == ConnectionState.Open)
this.conn.Close();
//this.conn.Dispose() ;
}

/// <summary>
/// 释放资源
/// </summary>
public void Dispose()
{
// 确认连接是否已经关闭
if (conn != null)
{
conn.Dispose();
conn = null;
}
}
#endregion

}
public class DbAccess
{
//SQL区域
static DB CommDB;
public static DB GetDB()
{
if (CommDB == null)
{
CommDB = new DB();
}
return CommDB;
}
public static SqlCommand GetSqlCommand(string sql)
{
GetDB();
CommDB.Open();
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand sc = new SqlCommand(sql, CommDB.conn);
return sc;
}
public static SqlDataReader GetSqlDataReader(string strSqlText)
{
SqlDataReader sqlDReader = null;
GetDB();
CommDB.Open();
SqlCommand sqlCmd = new SqlCommand(strSqlText, CommDB.conn);
sqlDReader = sqlCmd.ExecuteReader(CommandBehavior.CloseConnection);
return sqlDReader;
}
/// <summary>
/// 执行数据库操作
/// </summary>
/// <param name="sql">执行的操作语句参数</param>
/// <returns>成功返回为1,否则返回0</returns>
public static int Execute(string sql)
{
// 数据库操作返回成功标志
GetDB();
int ExeFlag = 0;
CommDB.Open();
SqlCommand sc = new SqlCommand(sql, CommDB.conn);
ExeFlag = sc.ExecuteNonQuery();
CommDB.Close();
if (ExeFlag > 0)
{
ExeFlag = 1;
}
else
{
ExeFlag = 0;
}
return ExeFlag;
}

/// <summary>
/// 依据sql字符串得到数据集
/// </summary>
/// <param name="sql">要查询的字符串参数</param>
public static DataSet GetDS(string sql)
{
GetDB();
CommDB.Open();
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand sc = new SqlCommand(sql, CommDB.conn);
da.SelectCommand = sc;
DataSet ds = new DataSet();
da.Fill(ds);
CommDB.Close();
return ds;
}
public static DataTable getTable(string ParaStr, string ParaTableName)
{
DataTable dtObj = new DataTable();
DataSet dsObj = GetDS(ParaStr);
if (ParaTableName.Trim() == "")
{
dtObj = dsObj.Tables[0];
}
else
{
dtObj = dsObj.Tables[ParaTableName];
}
return dtObj;
}
public static DataTable getTableQuick(string ParaStr)
{
SqlDataReader sdrObj;
DataTable dtObj;
sdrObj = null;
try
{
GetDB();
CommDB.Open();
dtObj = new DataTable();
SqlCommand cmd = new SqlCommand(ParaStr, CommDB.conn);
sdrObj = cmd.ExecuteReader();
dtObj = UDS.Components.Tools.ConvertDataReaderToDataTable(sdrObj);
}
catch (System.Exception e)
{
dtObj = null;
CommDB.Close();
}
finally
{
if (sdrObj != null)
{
sdrObj.Close();
}
CommDB.Close();
}
return dtObj;
}

/// <summary>
/// 执行SQL查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行
/// </summary>
/// <param name="ParaStr"></param>
/// <returns></returns>
public static string getFieldValue(string ParaStr)
{
string oRvt;
try
{
GetDB();
CommDB.Open();
SqlCommand cmd = new SqlCommand(ParaStr, CommDB.conn);
oRvt = cmd.ExecuteScalar().ToString().Trim();
CommDB.Close();
}
catch (System.Exception e)
{
oRvt = "";
}
return oRvt;
}
/// <summary>
/// 按照查询SQL获取第一行记录的第一列值
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static string getFieldValueBySql(string sql)
{
if (sql == "")
{
return "";
}
else
{
GetDB();
CommDB.Open();
SqlCommand cmd = new SqlCommand(sql, CommDB.conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
string tmp = dr.GetValue(0).ToString();
dr.Close();
CommDB.Close();
return tmp;
}
else
{
dr.Close();
CommDB.Close();
return "";
}
}
}

//缓存区域
/// <summary>
/// 按照给定的key和key值获取记录所在数据集中的Pos
/// </summary>
/// <param name="paraDtObj"></param>
/// <param name="paraKey"></param>
/// <param name="paraID"></param>
/// <returns></returns>
public static int getItmIndex(DataTable paraDtObj, string paraKey, string paraID)
{
int rtv =-1;
int iCount = 0;
if (paraDtObj.Rows.Count > 0)
{
foreach (DataRow dr in paraDtObj.Rows)
{
if (dr[paraKey].ToString().Trim() == paraID)
{
rtv++;
break;
}
iCount++;
}
}
if (rtv != -1)
{
rtv = iCount;
}
return rtv;
}
/// <summary>
/// 按照给定的字段名称获取单行记录单元格的值
/// </summary>
/// <param name="paraDtObj"></param>
/// <param name="paraFieldName"></param>
/// <returns></returns>
public static object getItmValue(DataTable paraDtObj, string paraFieldName)
{
object rto = null;
if (paraDtObj.Rows.Count > 0)
{
try
{
rto = paraDtObj.Rows[0][paraFieldName];
}
catch
{

}
}
return rto;
}
ABCDEFGIUY 2011-01-29
  • 打赏
  • 举报
回复
我也觉得是命名问题,可是我检查来检查去真没法发现问题,我在项目下建了一个connsql文件夹,在这个文件夹里新建了一个类Class1.cs,然后class1代码如下所示,应用的时候,总是没有connsql.class1.mssql这个字符串........


using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

/// <summary>
///Class1 的摘要说明
/// </summary>
public class Class1
{
public static SqlConnection mssql()
{
return new SqlConnection("Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=192.168.1.150");
}
}
jianhui12345670 2011-01-27
  • 打赏
  • 举报
回复
类class1实例化了没?
chunhong89 2011-01-27
  • 打赏
  • 举报
回复
想连接一个数据库,方便以后在需要连接数据库的时候进行引用
为什么不直接写个数据库连接通用类~~
只是连接的话写在web.config
yuanqingkun0103 2011-01-27
  • 打赏
  • 举报
回复
using(SqlConnection conn=new SqlConnection("Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=192.168.1.150"))
{
//这里可以用 conn
}
lds840827 2011-01-27
  • 打赏
  • 举报
回复
SqlConnection sqllianjie = Class1.mssql();
再检查下 namespace
ABCDEFGIUY 2011-01-27
  • 打赏
  • 举报
回复
呵呵,七楼大哥,就是没有你写的等号右边那个引用。

请问一下四楼,你所说的添加引用,怎样添加引用啊?我这是在同一个项目里,只不过我特意另建了个链接数据库的类罢了

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
wuyq11 2011-01-27
  • 打赏
  • 举报
回复
SqlConnection conn=Class1.mssql();
huminghua 2011-01-27
  • 打赏
  • 举报
回复
你的连接字符串顺序有点乱哦!呵呵!建议写在web.config里面的<connectionstring>节点或。。。。下面
songhongkai123 2011-01-27
  • 打赏
  • 举报
回复
类实例化一下,要么写成static类


建议链接字符串写在web。config文件里
_三皮_ 2011-01-27
  • 打赏
  • 举报
回复
如果在两个项目,要添加引用的。
nandy249407850 2011-01-27
  • 打赏
  • 举报
回复
项目下的类文件应该直接放到App_Code文件夹下

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧