using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Threading;namespace 连接数据库
{
    class Program
    {
        static void Main(string[] args)
        {
            
                //Console.WriteLine("请输入你要使用的服务器的名字");
                //string use_fuwuqi = Console.ReadLine();
                Console.WriteLine("请输入你要使用的登录名的账号");
                string use_zhanghao = Console.ReadLine();
                Console.WriteLine("请输入你要使用的登录名的密码");
                string use_mima = Console.ReadLine();
                Console.Clear();
                Console.WriteLine("请输入你要使用的数据库");
                string use_shujuku = Console.ReadLine();
                string strConnection = (@"server=ZMSKY-LAPTOP-TG\SQLEXPRESS; database=" + use_shujuku + ";Uid=" + use_zhanghao + ";Pwd=" + use_mima);
           
            try
            {
                SqlConnection conn = new SqlConnection(strConnection);
                //连接的状态 Open Broken-----以前有联系,现在已经断开了    Closed-----从来没有建立过联系
                if(conn.State==ConnectionState.Closed)
                {
                    conn.Open();
                }
              
                if(conn.State==ConnectionState.Broken)
                {
                    conn.Close();
                    conn.Open();
                }
                Console.WriteLine("已经连接成功!");
                Thread.Sleep(2000);
                for (int q = 1; q > 0;q++ )
                {
                    Console.Clear();
                    Console.WriteLine("请出入你要执行的SQL语句");
                    string user = Console.ReadLine();                    //SqlCommand cmd = new SqlCommand(user, conn);
                    //int result = cmd.ExecuteNonQuery();
                    //Console.WriteLine("完成指令!!" + "\n这个是无限循环,由于本人能力原因,所以要退出的话,请有光标点击右上角的X");
                    //Thread.Sleep(5000);                     DataTable dt = new DataTable();
                    SqlDataAdapter adapter = new SqlDataAdapter(user, conn);
                    adapter.Fill(dt);
                    foreach (DataRow row in dt.Rows)
                    {
                        Console.WriteLine(row["id"] + "-----" + row["name"] + "-----" + row["age"]);
                    }
                    Console.WriteLine("完成指令!!" + "\n这个是无限循环,由于本人能力原因,所以要退出的话,请用光标点击右上角的X");
                    Thread.Sleep(5000);
                                                                  
               }
               
            }
            catch(Exception e)
            {
                throw;
            }
        }
    }
}
上面的SqlCommand是昨天老师教的,首先声明是C#(VS2008版本),而今天老师教的DataTable  SqlDataAdapter  我有点不懂,(不知道能不能帮我解释一下)上面都是我直接复制上去的,然后再自己练习中,本来今天老师教的是查询,可是我发现也可以用这代码写其他的增加,建立,修改等语句,可是当我重新建立一个表,而且数据结构不同的时候, Console.WriteLine(row["id"] + "-----" + row["name"] + "-----" + row["age"]);这一行就要报错,不知道有没有能改的方法?我是新人,上面的代码写的不好也不能怪我了,我就是想求这问题的答案。雪地跪求啊~好人啊~~

解决方案 »

  1.   

    不用很快就忘了
    c#是forum.csdn.net/blist/csharp
      

  2.   

    论坛下的:.Net技术-->C#,,到这里面去提问吧。
      

  3.   

    检查,
    1、你的查询出来的数据表含有 "id","name"以及"age" 数据段没?
    2、最好在输出的时候先判断你的内容是不是为空 ,
      row["id"] !=NULL &&row["name"] !=NULL &&row["age"] !=NULL//C#判断不一样
    3、作为字符输出最好做一次 toString()转化!
      

  4.   

    有C#区的
    .NET技术-〉C# 
      

  5.   

    ADO.net 傻瓜得不得了`````
      

  6.   

     先进“更多论坛”,然后点进“.NET技术”