c#与SQL数据库连接问题
C#2000中连接数据库用了SQLDATAADATER控件 但在C#2005中没有哪个控件 , 应该怎么连接数据库 用什么控件还是代码 请帮帮我 急 --------------------编程问答-------------------- http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqldataadapter(VS.80).aspx --------------------编程问答--------------------/// <summary>--------------------编程问答-------------------- --------------------编程问答-------------------- 用代码,楼上的很详细。 --------------------编程问答-------------------- 尽量不要用控件连接,用代码要好些 --------------------编程问答-------------------- 楼主多看看书吧,数据空间有SqlDataSource AccessDataSource 这个只需要绑定数据源就可以了,
/// 数据库连接
/// </summary>
/// <param name="sqlwhere">连接条件</param>
/// <returns>结果数据集</returns>
public static DataSet GetList(string sqlwhere)
{
//数据库连接字符
String connectionString = "Server=localhost;Database=dbTest;uid=sa;pwd=sa;";
//要执行的Sql语句
String cmdText = "select * from table";
if (sqlwhere != "")
{
cmdText += " where " + sqlwhere;
}
//建立连接
SqlConnection conn = new SqlConnection(connectionString);
//生成命名实例
SqlCommand command = new SqlCommand(cmdText, conn);
//生成数据集实例
DataSet ds = new DataSet();
//生成数据库连接实例
SqlDataAdapter sqlDA = new SqlDataAdapter();
//数据源中选择记录
sqlDA.SelectCommand = command;
//填充数据集
sqlDA.Fill(ds);
//关闭连接
conn.Close();
//返回数据集
return ds;
}
还有链接数据库的代码,
--------------------编程问答-------------------- 右键点击选项卡,单击“选择项”菜单:
//数据库连接字符串(web.config来配置)
//<add key="ConnectionString" value="server=127.0.0.1;database=DATABASE;uid=sa;pwd=" />
public static string connectionString;
public DbHelperSQL()
{
}
#region 执行简单SQL语句
/// <summary>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException E)
{
connection.Close();
throw new Exception(E.Message);
}
}
}
}
/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
public static void ExecuteSqlTran(ArrayList SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n].ToString();
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch (System.Data.SqlClient.SqlException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
/// <summary>
/// 执行带一个存储过程参数的的SQL语句。
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSql(string SQLString, string content)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(SQLString, connection);
System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText);
myParameter.Value = content;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException E)
{
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例)
/// </summary>
/// <param name="strSQL">SQL语句</param>
/// <param name="fs">图像字节,数据库的字段类型为image的情况</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSqlInsertImg(string strSQL, byte[] fs)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(strSQL, connection);
System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@fs", SqlDbType.Image);
myParameter.Value = fs;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException E)
{
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
/// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="SQLString">计算查询结果语句</param>
/// <returns>查询结果(object)</returns>
public static object GetSingle(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
object obj = cmd.ExecuteScalar();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw new Exception(e.Message);
}
}
}
}
找到SqlDataAdapter加到工具箱即可,所有其他找不到的控件,都可以使用这个方法添加到工具箱。
工具箱支持子母索引,所以你可以按下“s”,快速定位到s开头的控件。 --------------------编程问答-------------------- 最好不要用控件去连接,以后会生出很多麻烦事 --------------------编程问答-------------------- 谢谢你们 我没学过C#但是我要用它做毕业设计 结果错误麻烦很多 --------------------编程问答-------------------- /// <summary> /// 数据库连接 /// </summary> /// <param name="sqlwhere">连接条件</param> /// <returns>结果数据集</returns> public static DataSet GetList(string sqlwhere) { //数据库连接字符 String connectionString = "Server=localhost;Database=dbTest;uid=sa;pwd=sa;"; //要执行的Sql语句 String cmdText = "select * from table"; if (sqlwhere != "") { cmdText += " where " + sqlwhere; } //建立连接 SqlConnection conn = new SqlConnection(connectionString); //生成命名实例 SqlCommand command = new SqlCommand(cmdText, conn); //生成数据集实例 DataSet ds = new DataSet(); //生成数据库连接实例 SqlDataAdapter sqlDA = new SqlDataAdapter(); //数据源中选择记录 sqlDA.SelectCommand = command; //填充数据集 sqlDA.Fill(ds); //关闭连接 conn.Close(); //返回数据集 return ds; }
--------------------编程问答-------------------- uid=sa;pwd=sa是什么意思 --------------------编程问答-------------------- 最好用动态连接,不要用连接控件 --------------------编程问答-------------------- 动态连接是指的代码吗 --------------------编程问答-------------------- using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException E)
{
connection.Close();
throw new Exception(E.Message);
}
}
} --------------------编程问答--------------------
同意!!!
补充:.NET技术 , C#