- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
嗨,我必须将一个表中的详细信息添加到另一个表中,这些信息应该在日期内。这些日期是从文本框中读取的。
但是我得到了错误:
"An exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll but was not handled in user code
Additional information: Incorrect datetime value: '11/25/2015 12:00:00 AM' for column 'debissuedate' at row 1"
第一个表是 t_bondridapp,其中包含以下字段:id、cancode、canname、debissuedate...等我必须从这个表复制到一个名为 bondlocal 的新表,其中包含以下字段:bondid,cancode,canname,bonddate。我用过代码
public class DBConnection
{
private DBConnection()
{
}
private string dbname = string.Empty;
public string DBName
{
get { return dbname;}
set { dbname = value;}
}
public string Password { get; set; }
private MySqlConnection mycon = null;
public MySqlConnection Connection
{
get { return mycon; }
}
private static DBConnection _instance = null;
public static DBConnection Instance()
{
if(_instance==null)
_instance=new DBConnection();
return _instance;
}
public bool IsConnect()
{
bool result = true;
if(mycon==null)
{
if (String.IsNullOrEmpty(dbname))
result = false;
string constr = string.Format("server=localhost;user id=root;password=mysql;database=pnys;",dbname);
mycon = new MySqlConnection(constr);
mycon.Open();
result = true;
}
return result;
}
public void Close()
{
mycon.Close();
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click1(object sender, EventArgs e)
{
MySqlDateTime fdate =new MySqlDateTime(DateTime.Parse(TextBox3.Text));
MySqlDateTime sdate = new MySqlDateTime(DateTime.Parse(TextBox4.Text));
var dbCon = DBConnection.Instance();
dbCon.DBName = "pnys";
if (dbCon.IsConnect())
{
string query = "INSERT INTO bondlocal (cancode,canname,bonddate) SELECT t_bondridapp.cancode,t_bondridapp.canname,t_bondridapp.debissuedate FROM t_bondridapp WHERE debissuedate>='" + fdate + "'AND debissuedate<='" + sdate + "'";
MySqlCommand cmd = new MySqlCommand(query, dbCon.Connection);
cmd.ExecuteNonQuery();
}
Server.Transfer("ReportBonds.aspx");
}
请帮帮我...
最佳答案
基本上,问题在于您如何将参数传递到数据库中。您不需要自己创建一个 MySqlDateTime
- 只需使用参数化 SQL 就可以了:
// TODO: Use a date/time control instead of parsing text to start with
DateTime fdate = DateTime.Parse(TextBox3.Text);
DateTime sdate = DateTime.Parse(TextBox4.Text);
string query = @"INSERT INTO bondlocal (cancode,canname,bonddate)
SELECT t_bondridapp.cancode,t_bondridapp.canname,t_bondridapp.debissuedate
FROM t_bondridapp
WHERE debissuedate >= @fdate AND debissuedate <= @sdate";
using (var command = new MySqlCommand(query, dbCon))
{
command.Parameters.Add("@fdate", MySqlDbType.Datetime).Value = fdate;
command.Parameters.Add("@sdate", MySqlDbType.Datetime).Value = sdate;
command.ExecuteNonQuery();
}
基本上,您应该永远不要仅通过使用字符串连接在 SQL 中指定特定值。参数化 SQL 可防止 SQL 注入(inject)攻击和转换问题,并提高代码可读性。
(顺便说一句,我会敦促您放弃当前的连接共享,而是始终创建并打开一个新的 MySqlDbConnection
并在结束时处理它您的操作 - 依靠连接池来提高效率。)
关于MySql.数据.MySqlClient.MySqlException : Incorrect datetime value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36785594/
这个问题是很多人都遇到过的,包括我自己。您不能直接使用命令 pip install mysqlclient 来获取 python 3.7.4 或任何 3.7.X 的最新版本。PyPI 网站上提到新版本
当我将我的应用程序上传到服务器进行测试时,我遇到了这个奇怪的莫名其妙的错误。我查了一下,好像是MySql.Data冲突导致的,我上传的副本是:6.3.7.0。 我该如何解决这个问题?我以为只要将它放入
我正在尝试在我新格式化的 Mac OS High Sierra 10.13.4 上运行我的 Python 3 项目,首先运行 pipenv install 以获取依赖项,但失败了。 具体来说,安装依赖
我正在 Mac 上使用 MySQL 8.0 设置一个新的 Django 2.2 项目。我已经安装了 mysqlclient 和 mysql-connector-python。当我点击 python m
我搜索了论坛,但找不到答案,甚至找不到任何相关文档。尝试重新创建一个像 www.testandtrack.io 这样的网站 关于运行命令: python manage.py inspectdb 我收到
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
pip install mysqlclient Collecting mysqlclient Using cached mysqlclient-2.0.3.tar.gz (88 kB) Using
我下载了wheel到最新版本 但我不完全确定如何理解这个半神秘的错误消息 Failed building wheel for mysql-python Command "/Users/user
尝试从 pipenv 安装: pipenv install mysqlclient 将导致: Installing mysqlclient… Collecting mysqlclient Using
所以我下载了 Python 32 位 1,然后我做了python -m pip install mysqlclient . 我需要 Visual C++ 2015,但我有它们,因为我的文本编辑器是 V
我不知道如果我从这里下载mysqlclient-python,我是否会承担任何恶意软件和安全方面的风险https://pypi.python.org/pypi/mysqlclient ?您认为 PyP
我尝试使用 gcc 在新机器(CentOS 7)上编译旧项目。最后缺少的链接器是 libmysqlclient。 但我在我的 CentOS Repos(基础、更新、附加)中找不到它。 有人知道它在哪个
我使用的是 python 2.7.15 版本,我还做了 pip2.7 install --upgrade mysqlclient 但是,我要连接到所有 5.6 或 5.7 版本的远程数据库,但无法连接
尝试从 pipenv 安装: pipenv install mysqlclient 将导致: Installing mysqlclient… Collecting mysqlclient Using
我是 Python 和 Flask 的新手,在研究这些示例时,我忍不住注意到游标。在此之前,我用 PHP 编程,从不需要游标。所以我想知道:什么是游标,为什么在这些代码示例中如此频繁地使用游标? 但无
我有一个连接到 MySQL 服务器的 C++ 应用程序。 一切正常。 目前使用libmysql.dll。 在构建时,我链接到 libmysql.lib。 据我所知,我可以改为链接到 mysqlclie
我目前正在使用 C# 使用 ODBC 连接到我的 MySQL 数据库。有人告诉我,使用 MySql 连接器会更好、更快,并且不依赖于 Windows。有人可以对此有所了解吗?到目前为止,我一直无法在网
我正在使用 windows10 64 位、python 3.8.2 并且无法通过 pip3 安装 mysqlclient/mysql,它要求我下载 Microsoft Visual C++ 14.00
在尝试安装 mysqlclient 作为在 AWS EC2 实例上启动和运行 Django 项目的一部分时,我遇到了以下问题。 在 python 3.8.5 虚拟环境中: (venv3)$ which
我尝试在 mac 上的虚拟环境中安装 mysqlclient ,使用以下命令: pip3 install mysqlclient 我收到以下错误: Collecting mysqlclient U
我是一名优秀的程序员,十分优秀!