using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
namespace Sql查询器
{
class Program
{
private static string ServerName = "";
private static string LoginDataBaseName = "";
private static string LoginUserName = "";
private static string LoginPwd = "";
private static SqlConnection Connect = null;
static void Main(string[] args)
{
Console.Title = "SQL简单查询器";
ServerName = Init("服务器地址");
LoginDataBaseName = Init("服务库名称");
LoginUserName = Init("登陆用户名");
LoginPwd = Init("登陆用户口令");
OpenConnect();
}
static void ExecuteSql()
{
goto Sql;
Sql:
{
Console.Write("SQL:");
string value = Console.ReadLine();
if (value == null || value.Trim() == "")
{
goto Sql;
}
try
{
Stopwatch watch = new Stopwatch();
watch.Start();
DateTime BeginTime = DateTime.Now;
SqlCommand cmd = new SqlCommand(value, Connect);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable SqlTable = new DataTable();
da.Fill(SqlTable);
watch.Stop();
Console.WriteLine("总共耗时:" + watch.Elapsed.ToString() + " 记录条数:" + SqlTable.Rows.Count);
StringBuilder Cols = new StringBuilder();
Cols.Append("No ");
for (int c = 0; c < SqlTable.Columns.Count; c++)
{
Cols.Append(SqlTable.Columns[c].ColumnName + " ");
}
Console.WriteLine(Cols.ToString().Trim());
for (int r = 0; r < SqlTable.Rows.Count; r++)
{
StringBuilder Rows = new StringBuilder();
Rows.Append(Convert.ToInt32(r + 1) + " ");
for (int c = 0; c < SqlTable.Columns.Count; c++)
{
if (SqlTable.Rows[r][c] != DBNull.Value)
{
Rows.Append(SqlTable.Rows[r][c].ToString() + " ");
}
else
{
Rows.Append("NULL ");
}
}
Console.WriteLine(Rows.ToString().Trim());
}
Console.WriteLine("");
goto Sql;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
goto Sql;
}
}
}
static void OpenConnect()
{
if (ServerName == null || ServerName.Trim() == "")
{
ServerName = Init("服务器地址");
}
if (LoginDataBaseName == null || LoginDataBaseName.Trim() == "")
{
LoginDataBaseName = Init("服务器地址");
}
string strconnect = "Data Source=" + ServerName + ";Initial Catalog=" + LoginDataBaseName + ";User ID=" + LoginUserName + ";Password=" + LoginPwd + ";Integrated Security=false;Connect Timeout=15;";
if (Connect == null)
{
Connect = new SqlConnection(strconnect);
}
if (Connect.State != ConnectionState.Closed)
{
try
{
Connect.Close();
}
catch { }
}
Connect.ConnectionString = strconnect;
try
{
Console.WriteLine("正在连接数据服务器,请候候...");
Connect.Open();
Console.Clear();
ExecuteSql();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
if (e.Message.Contains("provider: Named Pipes Provider, error: 40") == true)
{
ServerName = Init("服务器地址");
LoginDataBaseName = Init("服务器地址");
}
LoginUserName = Init("登陆用户名");
LoginPwd = Init("登陆用户口令");
OpenConnect();
}
}
static string Init(string Name)
{
goto config;
config:
{
Console.Write(Name + ":");
string value = Console.ReadLine();
if (value == null || value.Trim() == "")
{
Console.WriteLine(Name + "不能为空,请重新输入!");
goto config;
}
return value;
}
}
}
}