插入mysql数据库时URL被截断

时间:2015-02-09 13:41:46

标签: 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

1 个答案:

答案 0 :(得分:2)

您的问题出在存储过程中。在截断30个字符并且未通过之后,它接受varchar(30)任何内容的输入。改变它以匹配数据库字符大小,你将是金色的