积极答复者
超菜提问:C#中的数据库连接问题

问题
-
在下近日刚接触C#,今天在网上找了一个关于C#与SQL server连接的代码试运行一下,发现老出错,请各位大神帮助一二:
以下是代码,很简单的:我实在搞不懂为什么这句老出错:aCommand.SelectCommand.CommandType = CommandType.Text();using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; namespace ConsoleApplication1 { public class Conn { private SqlConnection myConn; /// <summary> /// 服务器连接字任串 /// </summary> private string ServerStr; /// <summary> /// 服务器地址 /// </summary> static string server; /// <summary> /// 数据库登陆用户名 /// </summary> static string uid; /// <summary> /// 登陆密码 /// </summary> static string pwd; /// <summary> /// 数据库名 /// </summary> static string database; /// <summary> /// 构造函数 /// </summary> public Conn() { ServerStr = "server=" + server + ";uid=" + uid + ";password=" + pwd + ";database=" + database; myConn = new SqlConnection(ServerStr); } /// <summary> /// 打开连接 /// </summary> public void Open() { myConn.Open(); } /// <summary> /// 测试数据库 /// </summary> public int tOpen() { try { myConn.Open(); return 1; } catch { return 0; } } /// <summary> /// 关闭连接 /// </summary> public void Close() { myConn.Close(); } /// <summary> /// 把自义类转化为SqlConnection类 /// </summary> /// <returns>SqlConnection</returns> public SqlConnection ChangeType() { return myConn; } /// <summary> /// 设置服务器地址 /// </summary> /// <param >服务器地址</param> public static void setServer(string Server) { server = Server; } /// <summary> ///设置登陆用户名 /// </summary> /// <param >用户名</param> public static void setUid(string Uid) { uid = Uid; } /// <summary> /// 设置登陆密码 /// </summary> /// <param >密码</param> public static void setPwd(string Pwd) { pwd = Pwd; } /// <summary> /// 设置数据库 /// </summary> /// <param >数据库名</param> public static void setDatabase(string Database) { database = Database; } static void Main(string[] args) { //首先初始化连接字符串 Conn.setServer("127.0.0.1"); Conn.setUid("sa"); Conn.setPwd("123"); Conn.setDatabase("Test"); //可以对数据库进行操作,这里的例子是一个查询的 Conn myconn = new Conn(); myconn.Open(); string sel = "select * from student"; SqlDataAdapter aCommand = new SqlDataAdapter(sel, myconn.ChangeType()); aCommand.SelectCommand.CommandType = CommandType.Text(); SqlDataReader datareader = aCommand.SelectCommand.ExecuteReader(); if (datareader.Read() == true)//查询成功 { datareader.Close(); //操作 } else//没查询到SQL语句要求的内容 { //操作 } myconn.Close(); } } }
错误信息为:错误 1 当前上下文中不存在名称“CommandType”
答案
-
您好 CyberLeon
:
欢迎来到MSDN论坛。
正如Jiyuan 和 小歐指出的,在下面这句代码中,有2个地方需要注意的:
aCommand.SelectCommand.CommandType = CommandType.Text();
1, CommandType.Text 是一个枚举类型,您在这里用作了方法。
2. CommandType 存在于 System.Data 命名空间下,而你之前没有引用到这个命名空间,因此会报“上下文不在”的错误。
感谢您的参与。
Please remember to mark the replies as answers if they help and unmark them if they provide no help. Welcome to the C# Forum! If you have any feedback, please tell us.- 已标记为答案 Neddy Ren 2011年2月17日 1:40
全部回复
-
您好 CyberLeon
:
欢迎来到MSDN论坛。
正如Jiyuan 和 小歐指出的,在下面这句代码中,有2个地方需要注意的:
aCommand.SelectCommand.CommandType = CommandType.Text();
1, CommandType.Text 是一个枚举类型,您在这里用作了方法。
2. CommandType 存在于 System.Data 命名空间下,而你之前没有引用到这个命名空间,因此会报“上下文不在”的错误。
感谢您的参与。
Please remember to mark the replies as answers if they help and unmark them if they provide no help. Welcome to the C# Forum! If you have any feedback, please tell us.- 已标记为答案 Neddy Ren 2011年2月17日 1:40