完整的菜鸟在这里: 我正在尝试做的是一个简单的注册屏幕,其中文本输入字段可以保存到SQLite数据库中。 如您所见,其中大部分是预定义的字符串,因为我仍在对其进行测试。 我有一个应该插入值的脚本,它附加到一个按钮并在单击后调用 InsertScore 函数。 插入函数工作, 只是我现在需要将文本从输入字段存储到变量或直接在此处引用它:cmd.Parameters.Add(new SqliteParameter("@EmployeeID",
无论如何,为什么我不能在 C# 中引用 txtEmployeeID(我的输入字段的名称(? 或者更好的是,请告诉我如何引用 txtEmployeeID 输入字段。 这样我就可以获取字符串或其中的文本并将其保存到数据库中。
public void InsertScore()
{
connectionString = "URI=file:" + Application.dataPath + "/HighScoreDB.sqlite";
using (SqliteConnection con = new SqliteConnection(connectionString))
{
SqliteCommand cmd = new SqliteCommand();
cmd.CommandText = @"INSERT INTO HighScores(EmployeeID, EmployeeFirstname, TestScore, ROLE) VALUES (@EmployeeID,@EmployeeFirstName,@TestScore,@Role)";
cmd.Connection = con;
//cmd.Parameters.Add(new SqliteParameter("@EmployeeID", "222222"));
//cmd.Parameters.Add(new SqliteParameter("@EmployeeID", gameObject.GetComponent<input>
cmd.Parameters.Add(new SqliteParameter("@EmployeeFirstName", "Anand3"));
cmd.Parameters.Add(new SqliteParameter("@TestScore", "65"));
cmd.Parameters.Add(new SqliteParameter("@Role", "Tester"));
con.Open();
cmd.ExecuteNonQuery();
}
}
如何引用 txtEmployeeID 输入字段
使用GameObject.Find("txtEmployeeID")
查找输入游戏对象,然后对返回的游戏对象执行GetComponent
以获取InputField
组件。
private InputField employerIdinputField;
void Start()
{
employerIdinputField = GameObject.Find("txtEmployeeID").GetComponent<InputField>();
string dataFromInput = employerIdinputField.text;
}
要将其合并到当前代码中,请执行以下操作:
private InputField employerIdinputField;
void Start()
{
employerIdinputField = GameObject.Find("txtEmployeeID").GetComponent<InputField>();
}
public void InsertScore()
{
connectionString = "URI=file:" + Application.dataPath + "/HighScoreDB.sqlite";
using (SqliteConnection con = new SqliteConnection(connectionString))
{
SqliteCommand cmd = new SqliteCommand();
cmd.CommandText = @"INSERT INTO HighScores(EmployeeID, EmployeeFirstname, TestScore, ROLE) VALUES (@EmployeeID,@EmployeeFirstName,@TestScore,@Role)";
cmd.Connection = con;
//FIXED LINE!
cmd.Parameters.Add(new SqliteParameter("@EmployeeID",employerIdinputField.text));
cmd.Parameters.Add(new SqliteParameter("@EmployeeFirstName", "Anand3"));
cmd.Parameters.Add(new SqliteParameter("@TestScore", "65"));
cmd.Parameters.Add(new SqliteParameter("@Role", "Tester"));
con.Open();
cmd.ExecuteNonQuery();
}
}
对于InputField
事件,请选中 3。输入字段组件在这里。