标签: mysql-connector

如何检查表中是否存在值,如果存在则删除它?

我有一个名为customer的简单数据库,只有一个表数据.我想检查客户名是否在数据库中退出,如果那时我想删除它.我正在使用MYSQL Connector.

EDIT:
I want to make sure the value is present before deleting to display
a simple user message.
Run Code Online (Sandbox Code Playgroud)

c# mysql sql database mysql-connector

0
推荐指数
1
解决办法
647
查看次数

无法在基于Java的Web服务或Eclipse中包含java库(.jar)

我是基于java的Web服务的新手.我能够在java中创建Web服务.我使用ODBC连接到MySQL连接.我想使用JDBC连接建立连接.

为此,我在Eclipse的项目中包含了jar文件(mysqlconnector.jar)Build Path.

问题是它抛出了ClassNotFoundException我使用该jar文件类的行.

String URL = "jdbc:mysql://localhost:3306/dbName";
        String USER = "root";
        String PASSWORD = "abc@123";
        String DRIVER = "com.mysql.jdbc.Driver";// driver from the jar file
Class.forName(DRIVER);//gives exception here
con = DriverManager.getConnection(URL, USER, PASSWORD);//return null here
Run Code Online (Sandbox Code Playgroud)

java mysql eclipse jdbc mysql-connector

0
推荐指数
1
解决办法
331
查看次数

如何使用MySQL在C#中保护用户指定的表名与SQL注入

作为对TableName的MySqlParameter的反应,似乎MySQL的Connector/NET库不支持用户输入的表名,方式如下:

MySqlCommand cmd = new MySqlCommand("SELECT * FROM @table");
cmd.Parameters.AddWithValue("@table",TableNameFromUserInput);
Run Code Online (Sandbox Code Playgroud)

所以我试图找到另一种方式,但我找不到任何为我这样做的库.

当手动搜索如何执行此操作时,我找不到任何没有告诉您使用某些已定义库中的"预准备语句"的内容,无论语言是什么.

由于我对SQL的了解有限,我只认为有必要在用户输入周围添加反引号(`),然后检查输入是否有反引号 - 但我想确定.

当MySQL Connector不支持时,如何保护用户指定的表名不受SQL-Injection的影响?

c# mysql sql-injection mysql-connector

0
推荐指数
1
解决办法
639
查看次数

java.lang.String中的NullPointerException

堆栈跟踪:

[#|2013-02-19T16:05:25.596-0500|WARNING|glassfish3.1.2|org.eclipse.persistence.session.file:/opt/glassfish3/glassfish/domains/domain1/applications/PulseEngine/PulseEngine-ejb_jar/_PulsePU|    _ThreadID=103;_Th
readName=Thread-2;|java.lang.NullPointerException
at java.lang.String.checkBounds(String.java:374)
at java.lang.String.<init>(String.java:415)
at com.mysql.jdbc.SingleByteCharsetConverter.<init>(SingleByteCharsetConverter.java:153)
at com.mysql.jdbc.SingleByteCharsetConverter.initCharset(SingleByteCharsetConverter.java:108)
at com.mysql.jdbc.SingleByteCharsetConverter.getInstance(SingleByteCharsetConverter.java:86)
at com.mysql.jdbc.Connection.getCharsetConverter(Connection.java:3505)
at com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5667)
at com.mysql.jdbc.ResultSet.getString(ResultSet.java:5544)
at com.mysql.jdbc.ResultSet.getFloat(ResultSet.java:2523)
at com.sun.gjc.spi.base.ResultSetWrapper.getFloat(ResultSetWrapper.java:239)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.getObjectThroughOptimizedDataConversion(DatabaseAccessor.java:1267)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.getObject(DatabaseAccessor.java:1170)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.fetchRow(DatabaseAccessor.java:999)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.processResultSet(DatabaseAccessor.java:723)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:621)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535)
at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717)
at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:253)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:264)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:646)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2611)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2570)
at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:420)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1081)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1040)
at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:392)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1128)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1463)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:485)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:773)
at enkia.pulse.indexing.SentimentAnalysisIndexer.insertSentiment(SentimentAnalysisIndexer.java:376)
at enkia.pulse.indexing.SentimentAnalysisIndexer.insertSentiments(SentimentAnalysisIndexer.java:355) …
Run Code Online (Sandbox Code Playgroud)

java jpa glassfish mysql-connector

0
推荐指数
1
解决办法
1412
查看次数

UPDATE语句不更新SQL数据库

我有一个SQL数据库,它存储上传的excel文件中的数据.我已经放了一个子句,如果数据已经存在于特定的日期和ID,那么代码应该更新数据库,否则它应该插入.一切正常,只是更新语句实际上并没有更新数据库中的值.

if (userCount > 1)
{

    Label4.Text = "Record Already Exists in the database. Overwriting the previous existing files.";
    //UPDATE STATEMENT
    string entrytime = DateTime.Now.ToString("MM/dd/yyyy hh:mm tt");
    string ip = Request.UserHostAddress;
    SqlCommand upd = new SqlCommand("UPDATE DoctorActivity SET(Computer_Id=@Computer_Id, Duty_Date=@Duty_Date, Duty_Type=@Duty_Type, OPD=@OPD, Minor_OT=@Minor_OT, Major_OT=@Major_OT, Normal_Delivery=@Normal_Delivery, Cesarean_Delivery=@Cesarean_Delivery, DateOfEntry=@DateOfEntry, IP=@IP, User_Id=@User_Id)", con);
    upd.CommandType = CommandType.Text;
    upd.Parameters.AddWithValue("@Computer_Id", GridView1.Rows[i].Cells[0].Text);
    upd.Parameters.AddWithValue("@Duty_Date", GridView1.Rows[i].Cells[1].Text);
    upd.Parameters.AddWithValue("@Duty_Type", GridView1.Rows[i].Cells[2].Text);
    upd.Parameters.AddWithValue("@OPD", GridView1.Rows[i].Cells[3].Text);
    upd.Parameters.AddWithValue("@Minor_OT", GridView1.Rows[i].Cells[4].Text);
    upd.Parameters.AddWithValue("@Major_OT", GridView1.Rows[i].Cells[5].Text);
    upd.Parameters.AddWithValue("@Normal_Delivery", GridView1.Rows[i].Cells[6].Text);
    upd.Parameters.AddWithValue("@Cesarean_Delivery", GridView1.Rows[i].Cells[7].Text);



    upd.Parameters.AddWithValue("@IP", ip);
    upd.Parameters.AddWithValue("@DateOfEntry", entrytime);
    upd.Parameters.AddWithValue("@User_Id", GetUsername());
}
else{
    //INSERT STATEMENT
    string statment …
Run Code Online (Sandbox Code Playgroud)

c# mysql-connector visual-studio

0
推荐指数
1
解决办法
260
查看次数

.Net项目中MySql.Data.dll的冲突版本不允许我在我的DataSet中添加/编辑TableAdapter

我在Visual Studio 2015 Update 3中有一个WinForms/.Net 4.0应用程序.当我尝试在任何DataSet中添加或编辑TableAdapter时,我收到此错误:

配置TableAdapter时,向导检测到以下问题:

细节:

生成的SELECT语句.[A] MySQL.Data.MySqlClient.MySqlConnection无法强制转换为[B] MySQL.Data.MySqlClient.MySqlConnection.类型A源自'MySQL.Data Version 6.9.8.0,Culture = neutral,PublicToken = c5687fc88969c44d'在上下文'Default'位置'C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\MySQL .Data.dll".类型B源自'MySQL.Data,Version 6.9.9.0,Culture = neutral,PublicKeyToken = c5687fc88969c44d'在上下文'Default'位置'C:\ Windows\Microsoft.Net\assembly\GAC_MSIL\MySQL.Data\v4.0_6 .9.9.0_c5687fc88969c44d\MySQL.Data.dll".

显然它抱怨MySQL.Data.dll 6.9.8和6.9.9的两个不同版本.我不明白的是它为什么或在哪里引用版本6.9.8.0?如果我查看我的项目的引用,它使用MySQL.Data.dll版本6.9.9.0.这是位于以下位置的NuGet包:

C:\ Users \用户的Fab-LenovoY70 \来源\工作区\跟踪\跟踪\包\ MySql.Data.6.9.9\LIB \net45\MySql.Data.dll

我已经尝试了[A] MySql.Data.MySqlClient.MySqlConnection的解决方案无法转换为[B] MySql.Data.MySqlClient.MySqlConnection但无效.

我已经搜索了我的整个解决方案,以获得对6.9.8的任何引用,我什么也没找到.我一直在谷歌搜索一整天的解决方案,并且没有找到任何有效的方法.:(任何人的想法?谢谢......

.net dataset tableadapter mysql-connector visual-studio

0
推荐指数
1
解决办法
9555
查看次数

为什么我的程序在调用“OpenAsync()”时终止?

我正在尝试使用MySqlConnector连接到在 MariaDB 上运行的数据库。但是,如果我从指定的网站执行基本代码片段,我的程序会在异步打开数据库连接时终止(通过调试发现)。一般来说,控制台窗口只是在屏幕上弹出,然后立即再次关闭。

我通过 NuGet 包管理器按照此处所述安装了 MySqlConnector 。

异步方法的同步版本工作没有任何问题,我按预期收到数据。与另一个数据库的连接也不起作用。

这是我的程序:

    static void Main(string[] args)
    {                    
        doSomeStuff();            
    }

    public static async void doSomeStuff()
    {
        var connString = "Server=localhost;User ID=root;Password=password;Database=mysql";

        using (var conn = new MySqlConnection(connString))
        {
            await conn.OpenAsync();                

            using (var cmd = new MySqlCommand("SELECT host FROM mysql.user", conn))
            using (var reader = await cmd.ExecuteReaderAsync())
                while (await reader.ReadAsync())
                    Console.WriteLine(reader.GetString(0));
        }


        Console.WriteLine("Finished!");
        Console.ReadKey();
    }      
Run Code Online (Sandbox Code Playgroud)

为什么会出现这种情况?我有什么遗漏的吗?也许与服务器端的配置有关?

目标框架:.NET Framework 4.7.1 MySqlConnector 版本:0.53.0 MariaDB 版本:10.3.14

c# mysql ado.net asynchronous mysql-connector

0
推荐指数
1
解决办法
1291
查看次数

EC2 实例中 Ubuntu 20.04 上的 MySQL 客户端安装错误

使用缓存mysqlclient-2.0.3.tar.gz (88 kB)

ERROR: Command errored out with exit status 1:
    command: /home/websiteuser/newenv/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = 
'"'"'/tmp/pip-install-gtzius4s/mysqlclient_581cfbeeeb974b418354ec534fb82b74/setup.py'"'"';
 __file__='"'"'/tmp/pip-install-gtzius4s/mysqlclient_581cfbeeeb974b418354ec534fb82b74/setup.py'"'"'
;f=getattr(tokenize, '"'"'open'"'"', open)
(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-q2ahr_b3
        cwd: /tmp/pip-install-gtzius4s/mysqlclient_581cfbeeeb974b418354ec534fb82b74/
Complete output (15 lines):
/bin/sh: 1: mysql_config: not found
/bin/sh: 1: mariadb_config: not found
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-gtzius4s/mysqlclient_581cfbeeeb974b418354ec534fb82b74/setup.py", line 15, in <module>
    metadata, options = get_config()
    File "/tmp/pip-install-gtzius4s/mysqlclient_581cfbeeeb974b418354ec534fb82b74/setup_posix.py", line 70, in …
Run Code Online (Sandbox Code Playgroud)

python pip mysql-connector

0
推荐指数
1
解决办法
2086
查看次数

ANDROID:java.lang.NoClassDefFoundError:解析失败:Lcom/mysql/cj/MysqlType

我正在尝试将我的项目与 mysql 数据库连接,但我在驱动程序中收到此错误:

\n
E/AndroidRuntime: FATAL EXCEPTION: main\n        Process: com.example.catalyst, PID: 12531\n        java.lang.NoClassDefFoundError: Failed resolution of: Lcom/mysql/cj/MysqlType;\n            at com.mysql.cj.protocol.a.NativeProtocol.findMysqlType(NativeProtocol.java:1466)\n            at com.mysql.cj.protocol.a.ColumnDefinitionReader.unpackField(ColumnDefinitionReader.java:134)\n            at com.mysql.cj.protocol.a.ColumnDefinitionReader.read(ColumnDefinitionReader.java:77)\n            at com.mysql.cj.protocol.a.ColumnDefinitionReader.read(ColumnDefinitionReader.java:40)\n            at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1588)\n            at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:68)\n            at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:48)\n            at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1601)\n            at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1655)\n            at com.mysql.cj.NativeSession.loadServerVariables(NativeSession.java:765)\n            at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1303)\n            at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:964)\n            at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:823)\n            at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:453)\n            at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)\n            at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)\n            at java.sql.DriverManager.getConnection(DriverManager.java:569)\n            at java.sql.DriverManager.getConnection(DriverManager.java:219)\n            at modelo.Conexion.conectar(Conexion.java:24)\n            at modelo.EnviarIngresos.ejecutarServicio(EnviarIngresos.java:27)\n            at GUIs.QRscanner.enviarIngreso(QRscanner.java:75)\n            at GUIs.QRscanner.onClick(QRscanner.java:42)\n            at android.view.View.performClick(View.java:6297)\n            at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1119)\n            at android.view.View$PerformClick.run(View.java:24797)\n            at android.os.Handler.handleCallback(Handler.java:790)\n            at android.os.Handler.dispatchMessage(Handler.java:99)\n            at android.os.Looper.loop(Looper.java:164)\n            at android.app.ActivityThread.main(ActivityThread.java:6626)\n            at java.lang.reflect.Method.invoke(Native Method)\n            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)\n …
Run Code Online (Sandbox Code Playgroud)

java mysql android mysql-connector

0
推荐指数
1
解决办法
2950
查看次数

ld:捆绑安装时未找到架构 x86_64 的符号

不太明白发生了什么事。我只是想在我的 M1 mac 上安装一个新的 ruby​​ 版本,以便在需要与我所拥有的 ruby​​ 版本不同的存储库上运行简单的捆绑安装。最终重新安装了brew和rbenv并最终出现以下情况。

如果我运行brew install mysql,它会成功。还有brew install openssl

当我运行捆绑安装时,我陷入了通常出现的问题点:

获取 mysql2 0.5.3 安装带有本机扩展的 mysql2 0.5.3

我也跑成功了

gem install mysql2 -v '0.5.3' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
Run Code Online (Sandbox Code Playgroud)

错误是:

ld:未找到架构 x86_64 的符号

如果我运行gcc -v我得到

Apple clang version 14.0.0 (clang-1400.0.29.202).  
Target: arm64-apple-darwin22.3.0.   
Thread model: posix.  
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Run Code Online (Sandbox Code Playgroud)

而且在错误之前我有很多警告,其中:

linking shared-object mysql2/mysql2.bundle
ld: warning: directory not found for option '-L/usr/local/opt/openssl/lib'
ld: warning: directory not found for option '-L/usr/local/opt/ruby/lib'
ld: warning: ignoring …
Run Code Online (Sandbox Code Playgroud)

ruby homebrew mysql-connector

0
推荐指数
1
解决办法
2287
查看次数

为什么我不能在mysql中存储20千字节的图像

tinyblob使用以下代码使用MysqlConnector for .net在mysql 中的字段中存储缩略图大小的图像(少于50kb)

Dim imgCov As New ImageConverter()
        Dim imgArray As Byte() = DirectCast(imgCov.ConvertTo(pictureBox1.Image , GetType(Byte())), Byte())

        Try
            Using conn As New MySqlConnection(conStr)
                conn.Open
                Dim sql As String ="Insert Into Services(Name,Code,Emp_ID,Image) Values(@Name,@Code,@Emp_ID,@Image)"
                Using cmd As New MySqlCommand(sql,conn)
                    cmd.Parameters.Add("@Name", MySqlDbType.VarChar, 45).Value ="Ironing"
                    cmd.Parameters.Add("@Code", MySqlDbType.VarChar, 45).Value ="IRN"
                    cmd.Parameters.Add("@Emp_ID", MySqlDbType.Int32).Value =1
                    cmd.Parameters.Add("@Image", MySqlDbType.LongBlob, 100).Value=imgArray
                    cmd.ExecuteNonQuery ()
                End Using
            End Using
            MsgBox("Insert Complete")

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
Run Code Online (Sandbox Code Playgroud)

问题是当我存储图像时,它不会保存所有数据.当我尝试检索时,这很明显,我开始收到错误.

调查错误,我简单地增加了longblob后工作正常的字段大小.

那么为什么我不能在微小的野外存储20KB的图像呢?

.net mysql blob mysql-connector

-1
推荐指数
1
解决办法
39
查看次数