c# - 插入 mysql 数据库时 URL 被截断

标签 c# mysql

在 C# Windows 应用程序中存储为字符串变量的 AWS url 在插入 MySql 数据库表时会被截断。我在调试时没有看到它被截断,该变量包含整个 url。列数据类型为 Varchar(2083)。也尝试过文本。知道发生了什么吗?请帮帮我。谢谢。

  string UrlLinkABC= null;
  if (FilePathABC != null) 
            {
                   UrlLinkABC =   ZipUploadTheLogs.GetTheLogs(StartTime, EndTime, "ABC", FilePathABC);
            }
  Test tst = new Test();

  tst.UrlLinkABC=UrlLinkABC ;
  ConnectionDb.InsertTest(tst)

ConnectionDb 类:

    public static int InsertTest(Test test)
    {
        MySqlConnection conn = new MySqlConnection(GetConnectionString());

        try
        {
            MySqlCommand cmd = new MySqlCommand("STP_UPDATE_TEST", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            //update the test object of the Test Class
            cmd.Parameters.AddWithValue("_ABCLOG", test.UrlLinkABC );
            conn.Open();

            int i = cmd.ExecuteNonQuery();
            conn.Close();
        }
        catch (Exception ex)
        {

            throw;
        }
    }

            return i;
}

MySQL数据库存储过程:

 CREATE DEFINER=`root`@`%` PROCEDURE `STP_UPDATE_TEST`(
 ,IN _ABCLOG VARCHAR(30)
 )
 BEGIN

                       INSERT INTO TESTRESULTS( UrlLinkABC)
                       VALUES(_ABCLOG );                                
 END

最佳答案

您的问题出在存储过程中。它接受 varchar(30) 的输入,其中 30 个字符被截断且未传递。更改它以匹配数据库字符大小,您将获得成功

关于c# - 插入 mysql 数据库时 URL 被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28411124/

相关文章:

php - 查找重复项并在 sql 中合并它们的值

mysql - Docker 与 mysql 和 django。尽管进行了任何尝试,与 mysql 的连接都被拒绝

mysql - apache 使用哪些端口

c# - 使用 C# 读取隐藏网站文本框?

c# - 无法将 mysql 查询转换为 linq 语句

登录/注册时的 C# ASP.Net 身份验证

php - SQL 获取具有相同 id 的所有行的计数

c# - 转换为 Tuple<object,object>

c# - 在代码中启动调试器

mysql - 从 native 查询中的 sails 的 MySql 数据库中选择