namespace ConsoleApp5
{
class Program
{
private static MySqlConnection connection;
private static string server;
private static string database;
private static string uid;
private static string password;
public static void Main(string[] args)
{
server = "localhost";
database = "database";
uid = "domica";
password = "domica";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
connection.Open();
}
public static void Insert()
{
Console.Write("Ukucaj nesto:");
var kucaj = Console.ReadLine();
string query = "INSERT INTO table1 (Ci) VALUES (@tt);";
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.Parameters.AddWithValue("@tt", kucaj);
cmd.ExecuteNonQuery();
}
}
}
这是我的代码,我有一个简单的问题。那段代码不起作用。 Main()部分可以工作,但Insert()类永远不会运行。如果我将所有内容放在Main()类中,它将全部工作,但我不希望这样。我尝试将其转换为构建为类库,而不是控制台应用程序,我只是得到一个错误,说这是不可能的。感谢
答案 0 :(得分:1)
您需要在Main方法中调用Insert()方法。
namespace ConsoleApp5
{
class Program
{
private static MySqlConnection connection;
private static string server;
private static string database;
private static string uid;
private static string password;
public static void Main(string[] args)
{
server = "localhost";
database = "database";
uid = "domica";
password = "domica";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
connection.Open();
Insert();
}
public static void Insert()
{
Console.Write("Ukucaj nesto:");
var kucaj = Console.ReadLine();
string query = "INSERT INTO table1 (Ci) VALUES (@tt);";
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.Parameters.AddWithValue("@tt", kucaj);
cmd.ExecuteNonQuery();
}
}
}
答案 1 :(得分:1)
好的,我认为是时候进行一些解释了。首先,一些术语。 Main
和Insert
被称为函数或方法。您计划中唯一的课程是Program
。
函数是(相对)小块代码,用于更好地组织程序。当您需要重复执行相同的操作(或非常类似的操作)时,可以重复使用它们。可以使用参数轻微更改和自定义其操作以满足特定需求。必须调用(调用)每个函数才能运行它。 Main
也是一种方法。
Main
被称为程序的入口点,因为它是程序自动调用的唯一函数。在Main
内,您可以调用已定义的其他函数。
您可以在另一个函数内调用函数。你甚至可以在其内部调用一个函数(称为递归的过程),只需确保创建退出条件,这样就不会有无限循环。
Main
?当然。但请注意,这意味着重新执行它。
Main
?这可能是一个讨论主题。从我的角度来看,你永远不应该调用Main
,因为它非常危险。你可以很容易地创建一个无限循环,很难避免这种情况。而且,它并没有给你带来很大的好处。说实话,我从未见过重新调用Main
的程序。
希望您现在明白,将来可以提出更多有用的问题。
答案 2 :(得分:0)
每次都必须调用每个和新函数。在Insert()
函数中connection.Open();
之后致电private static void Main(string[] args) { ... }
。