22,206
社区成员
发帖
与我相关
我的任务
分享
USE [TOOLSYS]
GO
/****** 对象: Table [dbo].[SoftwareList] 脚本日期: 04/14/2016 12:31:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[SoftwareList](
[ID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[Platform] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[ProductionPhase] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[StationName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[SoftwareName] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Version] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Size] [int] NOT NULL,
[Binary] [image] NULL,
[Remark] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[DateTimes] [datetime] NOT NULL CONSTRAINT [DF_SoftwareList_DateTimes] DEFAULT (getdate()),
CONSTRAINT [PK_SoftwareList] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
//上传
char *pBuf = m_pBMPBuffer;
VARIANT varBLOB;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];
if (pBuf)
{
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = m_nFileLen;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound);
for (long i = 0; i < (long)m_nFileLen; i++)
SafeArrayPutElement(psa, &i, pBuf++);
varBLOB.vt = VT_ARRAY | VT_UI1;
varBLOB.parray = psa;
((CToolManagementApp *)AfxGetApp())->m_pRst->GetFields()->GetItem("Binary")->AppendChunk(varBLOB);
}
((CToolManagementApp *)AfxGetApp())->m_pRst->Update();
if (((CToolManagementApp *)AfxGetApp())->m_pRst->State)
((CToolManagementApp *)AfxGetApp())->m_pRst->Close();
}
catch (_com_error e)
{
this->InsertListInfo(_T("Image insert into database failed..."), 1);
return FALSE;
}
//上传
char *pBuf = m_pBMPBuffer;
VARIANT varBLOB;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];
if (pBuf)
{
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = m_nFileLen;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound);
for (long i = 0; i < (long)m_nFileLen; i++)
SafeArrayPutElement(psa, &i, pBuf++);
varBLOB.vt = VT_ARRAY | VT_UI1;
varBLOB.parray = psa;
//在这里加了断点,发现SQL Profiler log 在这之后就没生成了
((CToolManagementApp *)AfxGetApp())->m_pRst->GetFields()->GetItem("Binary")->AppendChunk(varBLOB);
}
((CToolManagementApp *)AfxGetApp())->m_pRst->Update();
if (((CToolManagementApp *)AfxGetApp())->m_pRst->State)
((CToolManagementApp *)AfxGetApp())->m_pRst->Close();
}
catch (_com_error e)
{
this->InsertListInfo(_T("Image insert into database failed..."), 1);
return FALSE;
}