在 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/