- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有下面的程序,它给出了 mysql 错误 1064。
apt 是 5 bytes varchar,amount 是 double,paytype 是 smallint(暂时可以是 1 或 2),paydate 是 date,表定义中的解释是 50 bytes varchar
我调试apt的4字节字符串数据时观察到的值,amount是40,paytype是1,date 01-02-2014,解释是大约20字节的字符串。
为什么报错1064.
因为我正在读取数据?
如您所见,我使用了 2 个不同的连接,分别是读取数据的 conn 和插入的 conn1。
private void CreateGlobalDebt()
{
MySqlConnection conn = new MySqlConnection(Pvar.cs);
MySqlConnection conn1 = new MySqlConnection(Pvar.cs);
conn.Open();
conn1.Open();
MySqlCommand cmd = new MySqlCommand("SELECT apt FROM building ORDER BY apt", conn);
MySqlDataReader reader = cmd.ExecuteReader();
MySqlTransaction trans = conn1.BeginTransaction();
while(reader.Read())
{
string apt = reader["apt"].ToString();
MySqlCommand cmd1 = new MySqlCommand("INSERT parameters (apt,amount,paytype,paydate,explanation) VALUES (@apt,@amount,@paytype,@paydate,@explanation",conn1);
cmd1.Parameters.Add("@apt", MySqlDbType.VarChar,5).Value = apt;
cmd1.Parameters.Add("@amount", MySqlDbType.Double).Value = Convert.ToDouble(_textBox[0].Text);
cmd1.Parameters.Add("@paytype", MySqlDbType.Int16).Value = PayType;
cmd1.Parameters.Add("@paydate", MySqlDbType.Date).Value = Convert.ToDateTime(_textBox[2].Text);
cmd1.Parameters.Add("@explanation", MySqlDbType.VarChar, 50).Value = _textBox[3].Text.ToString();
try
{
cmd1.ExecuteNonQuery();
}
catch (MySqlException e)
{
trans.Rollback();
conn.Close();
conn1.Close();
MessageBox.Show(e.Number.ToString() + " -> " + e.Message.ToString());
return;
}
cmd1.Parameters.Clear();
}
trans.Commit();
conn.Close();
conn1.Close();
}
最佳答案
错误 1064 是:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use...
命令:
INSERT parameters (apt,amount,paytype,paydate,explanation) VALUES (@apt,@amount,@paytype,@paydate,@explanation
...缺少 INTO
关键字( which is standard ,但某些数据库允许您省略它)和结尾 )
你想要:
MySqlCommand cmd1 = new MySqlCommand("INSERT INTO parameters (apt,amount,paytype,paydate,explanation) VALUES (@apt,@amount,@paytype,@paydate,@explanation)",conn1);
关于c# - 读数据时插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583604/
我在将一些 C++ 代码转换为 Arduino 时遇到问题。任何帮助,将不胜感激。 编辑 我已经成功完成了上述操作。然而,现在唯一的问题是我的 Arduino 代码准确而正确地读取了电压,但没有其他寄
我需要能够从 HealthKit 读取所有 HRV 读数,并根据它们的创建日期对它们的值进行排序。 我可以使用 SampleQuery 从 HealthKit 读取特定时间间隔内的所有读数,如下所示:
我正在尝试使用 arduino uno R3 从 DHT-11 传感器读取温度和湿度 #include #include #define DHTPIN A3 #define DHTTYPE DHT
伙计们,我是 Meteor 的新手。对于我目前的应用程序,我正在使用 openlayer,因此对于 openlayer,我调用 Template.map.onRendered 事件,该事件将加载一个
我有一个设备可以读取电气设备的 kw 值,以测量它们在特定时间的(能量消耗率)。然后将这些值发送到轮询器(它定期向设备询问这些值),并插入到数据库中。 例子: 1st reading - 10 kw
我是一名优秀的程序员,十分优秀!