4,011
社区成员
发帖
与我相关
我的任务
分享
void CADOSampleDlg::OnBnClickedButton1() //连接数据库
{
// TODO: 在此添加控件通知处理程序代码
HRESULT hr; //定义操作结果句柄
try
{
hr=m_pConnection.CreateInstance(_T("ADODB.Connection"));
if (SUCCEEDED(hr))
//hr=m_pConnection->Open(_T("provider=SQLOLEDB;Data Source=10.85.58.15;Initial catalog=predb;Integrated Security=SSPI;"),_T("pics"),_T("pics#2011"),adConnectUnspecified);
hr=m_pConnection->Open(_T("provider=SQLOLEDB;Data Source=10.85.58.15;Initial catalog=predb;Integrated Security=SSPI"),_T("pics"),_T("pics#2011"),adModeUnknown);
if (m_pConnection->State)
WriteLog(_T("数据库连接成功!"));
else
WriteLog(_T("数据库连接失败!"));
}
catch(_com_error e)
{
CString log;
log.Format(_T("连接数据库失败 %s"),e.ErrorMessage());
WriteLog(log);
}
}
::CoInitialize(NULL);
没有初始化COM环境
hr=m_pConnection.CreateInstance(_T("ADODB.Connection"));
if (SUCCEEDED(hr))
//发现问题在这里就Fail 了
hr=m_pConnection->Open(_T("provider=SQLOLEDB;Data Source=10.85.58.15;Initial catalog=predb;Integrated Security=SSPI"),_T("pics"),_T("pics#2011"),adModeUnknown);
改成这个试试:
hr=m_pConnection->Open(_T("provider=SQLOLEDB;Data Source=10.85.58.15;Initial catalog=predb;"),_T("pics"),_T("pics#2011"),adModeUnknown);
private void button1_Click(object sender, EventArgs e)
{
conn = new SqlConnection("server=10.85.58.15;database=predb;uid=pics;pwd=pics#2011");
SqlDataAdapter sda = new SqlDataAdapter("select * from ts where id='" +
textBox1.Text.Trim() + "'",conn);
ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.RowHeadersVisible = false;
//使用For循环设定控件的列宽
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dataGridView1.Columns[i].Width = 84;
}
//button1.Enabled = false;
dataGridView1.ReadOnly = true;
button2.Enabled = true;
conn.Open();
}