我创建了这个简单的员工'程序来训练我的SQL。 如果用户想要,我决定显示数据库中的所有数据。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace MySQLQueryTest
{
class Program
{
static void Main(string[] args)
{
string response = "";
while (response != "exit")
{
Console.Write(">>");
response = Console.ReadLine();
switch (response.ToLower())
{
case "emp":
employeeMenu();
break;
case "-h":
Console.WriteLine("emp\tDisplays the Employee database menu");
Console.WriteLine("exit\tWill exit the program");
Console.WriteLine("clear\tWill clear the console window");
break;
case "clear":
Console.Clear();
break;
default:
Console.WriteLine("Invalid Command; for help type -h");
break;
}
}
}
static void employeeMenu()
{
Console.WriteLine("-------------Menu-------------");
Console.WriteLine("Type 'list' to list all employees.");
Console.WriteLine("Type 'add' to add an employee.");
Console.WriteLine("------------------------------");
string response = "";
while (response != "exit")
{
Console.Write("EmployeeMenu>");
response = Console.ReadLine();
switch (response.ToLower())
{
case "add":
getInfo();
break;
case "exit":
Console.WriteLine("Returning to Main Menu...");
break;
case "list":
Console.WriteLine("Here I will display all the SQL data");
break;
default:
Console.WriteLine("Invalid Command\n");
break;
}
}
}
static void getInfo()
{
Console.Write("First Name: ");
string fname = Console.ReadLine();
Console.Write("Last Name: ");
string lname = Console.ReadLine();
Console.Write("Job: ");
string job = Console.ReadLine();
addEmployee(fname, lname, job);
}
static void addEmployee(string the_fname, string the_lname, string the_job)
{
var connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename='c:\users\omri\documents\visual studio 2012\Projects\Map\Map\db.mdf';Integrated Security=True");
SqlCommand cmd;
connection.Open();
try
{
cmd = connection.CreateCommand();
cmd.CommandText = "INSERT INTO Employees(fname, lname, job) values('" + the_fname + "', '" + the_lname + "', '" + the_job + "');";
cmd.ExecuteNonQuery();
Console.WriteLine("Added " + the_fname + " " + the_lname + " to employee database.");
}
catch (Exception)
{
throw;
}
finally
{
if (connection.State == System.Data.ConnectionState.Open)
{
connection.Close();
}
}
}
}
}
我在互联网上搜索一些答案,但没有成功,我发现最接近的是:Displaying result of query。
不确定这是我正在寻找的东西。 所以,我的问题是如何显示员工的所有数据? 提前谢谢!
答案 0 :(得分:7)
家庭作业?
在将员工添加到数据库中时,您已经拥有运行SQL查询的代码。要显示数据库中的所有员工,您希望执行类似于addEmployee方法的操作,而不是运行INSERT sql命令,而是要选择
using (SqlConnection connection = new SqlConnection(YOURCONNECTIONSTRING))
{
connection.Open();
using (SqlCommand command = new SqlCommand("SELECT * FROM Employees", connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Console.WriteLine(reader.GetValue(i));
}
Console.WriteLine();
}
}
}
}