在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
答案 0 :(得分:2)
您的问题出在存储过程中。在截断30个字符并且未通过之后,它接受varchar(30)
任何内容的输入。改变它以匹配数据库字符大小,你将是金色的