Письмо не удалось отправить,
Delay reason: SMTP error from remote mail server after RCPT TO:<************>:
host mail.devart.com [50.22.125.88]: 451 Greylisted, please try again in 240 seconds
Код: Выделить всё
CREATE TABLE u_db_dev.assortim (
AS_BAR varchar(30) DEFAULT '',
AS_ARTICLE varchar(30) DEFAULT '',
AS_ID int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
AS_NAME varchar(255) DEFAULT NULL,
AS_REM varchar(250) DEFAULT NULL,
AS_PICTURE varchar(250) DEFAULT NULL,
AS_WEGHT double(15, 3) DEFAULT NULL,
AS_GRUPID int(11) UNSIGNED DEFAULT NULL,
AS_SPEC varchar(10) DEFAULT NULL,
AS_VALMIN double(15, 3) DEFAULT NULL,
AS_VALMAX double(15, 3) DEFAULT NULL,
AS_VALUE double(15, 3) DEFAULT NULL,
AS_PRICEB decimal(15, 5) DEFAULT 0.00000,
AS_PRICES decimal(15, 5) DEFAULT 0.00000,
AS_PRICE2 decimal(15, 5) DEFAULT 0.00000,
AS_PRICE3 decimal(15, 5) DEFAULT 0.00000,
AS_NDS float(9, 3) DEFAULT NULL,
AS_NSP float(9, 3) DEFAULT NULL,
AS_SN varchar(50) DEFAULT '',
AS_UNIT1 varchar(20) DEFAULT NULL,
AS_UNIT2 varchar(20) DEFAULT NULL,
AS_COLOR int(11) UNSIGNED DEFAULT NULL,
AS_STATE varchar(40) DEFAULT NULL,
AS_VISIBLE int(11) UNSIGNED DEFAULT NULL,
AS_MODEL varchar(40) DEFAULT '',
AS_FLOAT tinyint(1) DEFAULT 0,
AS_CHPRICE tinyint(1) DEFAULT 0,
AS_ISNEW tinyint(1) DEFAULT 0,
PRIMARY KEY (AS_ID),
UNIQUE INDEX UK_assortim (AS_BAR, AS_MODEL, AS_NAME, AS_PRICES, AS_SN),
CONSTRAINT FK_assortim_asgrp_ASG_ID FOREIGN KEY (AS_GRUPID)
REFERENCES u_db_dev.asgrp (ASG_ID) ON DELETE SET NULL ON UPDATE CASCADE
)
ENGINE = INNODB
AUTO_INCREMENT = 628
AVG_ROW_LENGTH = 81
CHARACTER SET utf8
COLLATE utf8_general_ci;
CREATE TABLE u_db_dev.asgrp (
ASG_ID int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
ASG_NAME varchar(50) DEFAULT NULL,
ASG_LEFT int(11) DEFAULT NULL,
ASG_PARENT int(11) DEFAULT NULL,
ASG_RIGHT int(11) DEFAULT NULL,
ASG_REM varchar(255) DEFAULT NULL,
ASG_INDEX int(11) DEFAULT NULL,
ASG_ADD double DEFAULT NULL,
PRIMARY KEY (ASG_ID),
UNIQUE INDEX ASG_NAME (ASG_NAME)
)
ENGINE = INNODB
AUTO_INCREMENT = 5
AVG_ROW_LENGTH = 5461
CHARACTER SET utf8
COLLATE utf8_general_ci;
CREATE TABLE u_db_dev.image (
IM_ID int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
IM_NAME varchar(50) DEFAULT NULL,
IM_ASID int(11) UNSIGNED DEFAULT NULL,
IM_STATUS int(11) DEFAULT NULL,
IM_INFO text DEFAULT NULL ,
IM_DESC text DEFAULT NULL,
IM_KEYWORDS varchar(255) DEFAULT NULL,
IM_URL varchar(255) DEFAULT NULL COMMENT ,
IM_IMAGE1 mediumblob DEFAULT NULL,
IM_IMAGE2 mediumblob DEFAULT NULL,
IM_IMAGE3 mediumblob DEFAULT NULL,
IM_IMAGE4 mediumblob DEFAULT NULL,
IM_IMAGE5 mediumblob DEFAULT NULL,
IM_IMAGE6 mediumblob DEFAULT NULL,
IM_IMAGE7 mediumblob DEFAULT NULL,
IM_IMAGE8 mediumblob DEFAULT NULL,
IM_IMAGE9 mediumblob DEFAULT NULL,
IM_IMAGE10 mediumblob DEFAULT NULL,
IM_IMAGE11 mediumblob DEFAULT NULL,
IM_IMAGE12 mediumblob DEFAULT NULL,
IM_IMAGE13 mediumblob DEFAULT NULL,
IM_IMAGE14 mediumblob DEFAULT NULL,
IM_IMAGE15 mediumblob DEFAULT NULL,
IM_GUID1 varchar(50) DEFAULT NULL,
IM_GUID2 varchar(50) DEFAULT NULL,
IM_GUID3 varchar(50) DEFAULT NULL,
IM_GUID4 varchar(50) DEFAULT NULL,
IM_GUID5 varchar(50) DEFAULT NULL,
IM_GUID6 varchar(50) DEFAULT NULL,
IM_GUID7 varchar(50) DEFAULT NULL,
IM_GUID8 varchar(50) DEFAULT NULL,
IM_GUID9 varchar(50) DEFAULT NULL,
IM_GUID10 varchar(50) DEFAULT NULL,
IM_GUID11 varchar(50) DEFAULT NULL,
IM_GUID12 varchar(50) DEFAULT NULL,
IM_GUID13 varchar(50) DEFAULT NULL,
IM_GUID14 varchar(50) DEFAULT NULL,
IM_GUID15 varchar(50) DEFAULT NULL,
IM_EXT1 varchar(150) DEFAULT NULL,
IM_EXT2 varchar(15) DEFAULT NULL,
IM_EXT3 varchar(15) DEFAULT NULL,
IM_EXT4 varchar(15) DEFAULT NULL,
IM_EXT5 varchar(15) DEFAULT NULL,
IM_EXT6 varchar(15) DEFAULT NULL,
IM_EXT7 varchar(15) DEFAULT NULL,
IM_EXT8 varchar(15) DEFAULT NULL,
IM_EXT9 varchar(15) DEFAULT NULL,
IM_EXT10 varchar(15) DEFAULT NULL,
IM_EXT11 varchar(15) DEFAULT NULL,
IM_EXT12 varchar(15) DEFAULT NULL,
IM_EXT13 varchar(15) DEFAULT NULL,
IM_EXT14 varchar(15) DEFAULT NULL,
IM_EXT15 varchar(15) DEFAULT NULL,
PRIMARY KEY (IM_ID),
UNIQUE INDEX IM_GUID (IM_GUID1),
CONSTRAINT FK_image_assortim_AS_ID FOREIGN KEY (IM_ASID)
REFERENCES u_db_dev.assortim (AS_ID) ON DELETE CASCADE ON UPDATE CASCADE
)
ENGINE = INNODB
AUTO_INCREMENT = 2088
AVG_ROW_LENGTH = 5279
CHARACTER SET utf8
COLLATE utf8_general_ci;
UnicodeString sz = "INSERT INTO assortim (AS_NAME,AS_GRUPID) VALUES (&NAME,&GRP)";
MyQuery1->SQL->Clear();
MyQuery1->SQL->Add(sz);
MyQuery1->MacroByName("NAME")->AsString = "WWWWW";
MyQuery1->MacroByName("GRP")->AsString =
"(SELECT ASG_ID FROM assortim WHERE ASG_NAME = `Оловянные солдатики`";
MyQuery1->ExecSQL();
Код: Выделить всё
First chance exception at $75A0B727. Exception class EMySqlException with message
'
#HY000Incorrect integer value: '(SELECT ASG_ID FROM assortim WHERE ASG_NAME = `Оловянные солдатики`' for column 'AS_GRUPID' at row 1'.
Process Project1.exe (10212)
Не могу установить #pragma link "MyDacVcl" пишет не найден
какой-то obj файл
Еще более странное поведение, когда комбинирую macros и параметры, созданные заранее, типа VALUES(:GG,&GHHJK,:GHJJJ,:YGYFVHV,:UGYGHG)Я попытался обойти ошибку, но после макроса, параметры пытаются загрузить не в те ячейки, я уже пытаюсь в несколько заходов сделать. Может ошибка в коде, но я не обнаружил
Код: Выделить всё
int __fastcall TForm2::insertDB (Vector_list &m_vector,
UnicodeString table, int Action)
{
if (Action == insertToTable)
{
int countD=1;
TmpQuery->SQL->Clear();
UnicodeString beginsz = "INSERT INTO " + table + "(";
UnicodeString endsz = "";
UnicodeString sz1 = "";
UnicodeString sz2 = ") VALUES(";
for (int i=0; i < m_vector.size() ; i++)
{
if (m_vector[i].Action == insertStringToTable)// макрос не воспринимает одинарные ковычки "'" поэтому был вынужден вставить
{
sz1+= m_vector[i].Col1;
sz2+=":" + m_vector[i].Col1;
TmpQuery->Params->CreateParam(ftString, m_vector[i].Col1, ptInput);
TmpQuery->ParamByName( m_vector[i].Col1)->AsString = m_vector[i].Value1;
}
if (m_vector[i].Action == insertToTable)
{
sz1+= m_vector[i].Col1;
if (m_vector[i].Value1.Pos("SELECT") != 0 )// вынужден вставлять запрос, т.к. не работает через параметры или макрос
{
sz2+= m_vector[i].Col1;
}
else
{
sz2+="&" + m_vector[i].Col1;
}
}
if (m_vector[i].Action == downloadImage )
{
if(ExtractFileName(m_vector[i].Value1) == "")
{
sz1 = sz1.Delete(sz1.Length(), 1);
sz2 = sz2.Delete(sz2.Length(), 1);
}
else
{
GUID gid;
UnicodeString agu;
CreateGUID(gid);
agu = Sysutils::GUIDToString(gid);
UnicodeString cD = IntToStr(countD);
UnicodeString im = "image" + cD;
TmpQuery->Params->CreateParam(ftBlob, im, ptInput);
TmpQuery->ParamByName(im)->LoadFromFile(m_vector[i].Value1, ftBlob);//<--вместо изображения строка из другого параметра
// UnicodeString ex = "ext" + cD; <---эти строки попадают на другие столбцы
// TmpQuery->Params->CreateParam(ftString, ex, ptInput);
// UnicodeString ff = ExtractFileExt(m_vector[i].Value1);
// TmpQuery->ParamByName(ex)->AsString = ExtractFileExt(m_vector[i].Value1);
// UnicodeString gu = "guid" + cD;
// TmpQuery->Params->CreateParam(ftString, gu, ptInput);
// TmpQuery->ParamByName(gu)->AsString = agu;
sz1+= "IM_IMAGE" + cD + ", IM_EXT" + cD + ", IM_GUID" +cD;
countD++;
sz2+= ":" + im + ", '" + ExtractFileExt(m_vector[i].Value1) + "', '" + agu + "'";<-- но если вставлять как стринг, но нормально
}
}
if (m_vector[i].Action == endStr)
{
endsz = m_vector[i].Value1;
}
if (i+1 < m_vector.size())
{
sz1+= ",";
sz2+= ",";
}
else
{
sz2+= ")";
}
}
TmpQuery->SQL->Add(beginsz);
TmpQuery->SQL->Add(sz1);
TmpQuery->SQL->Add(sz2);
TmpQuery->SQL->Add(endsz);
for (int i=0; i < m_vector.size() ; i++)
{
if (m_vector[i].Action == insertToTable && m_vector[i].Value1.Pos("SELECT") == 0 )
{
TmpQuery->MacroByName(m_vector[i].Col1)->AsString = m_vector[i].Value1;
}
}
TmpQuery->ExecSQL();
m_vector.clear();
return TmpQuery->InsertId;
}
}