<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Kontakte in MS-Exchange 2000 verwalten]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich arbeite an einem Programm, mit dem ich Kontakte aus einer externen Datenbank (MS-SQL Server),<br />
in den MS-Exchange Server 2000 exportieren kann.<br />
Erstellen der Kontakte klappt einwandfrei, gemäss Beispiel aus der MSDN:<br />
[url]<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_clb_adding_a_new_contact_with_cdoex_cpp.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_clb_adding_a_new_contact_with_cdoex_cpp.asp</a><br />
[/url]<br />
Kennt jemand eine möglichkeit, einen bestimmten Kontakt wieder zu löschen?</p>
<p>Der Ablauf meines Programms sollte dann folgendermassen sein:<br />
1. Alle Kontakte die in der SQL-DB als &quot;Gelöscht&quot; markiert sind, im Exchange löschen<br />
2. Alle &quot;aktiven&quot; Kontakte aus der SQL-DB in den Exchange kopieren.</p>
<p>Hier mal mein Code zum reinkopieren der funktioniert:</p>
<pre><code class="language-cpp">HRESULT hr = S_OK;

	CString	  str,str_url;
  	CListBox *pLB;
	pLB = (CListBox*)GetDlgItem(IDC_LIST_HISTO);

	str_url = m_edit_url;
	str_url = str_url += m_edit_ordner;
	str_url = str_url += &quot;/&quot;;

	wchar_t* folderURL = NULL;
	size_t size;
	size = mbstowcs(NULL,str_url,0);
	folderURL = (wchar_t*)malloc(size * sizeof(wchar_t*) + 1);
	mbstowcs(folderURL,str_url,size+1);
	BSTR bstrFolderURL = SysAllocString(folderURL);

	try
	{
	  CDO::IPersonPtr pPerson(_uuidof(CDO::Person));
      CDO::IDataSourcePtr pDsrc;

      pPerson-&gt;put_FirstName(m_edit_vorname.AllocSysString());
      pPerson-&gt;put_LastName(m_edit_nachname.AllocSysString());
      pPerson-&gt;put_Email(m_edit_email.AllocSysString());

	  pPerson-&gt;get_DataSource(&amp;pDsrc);

      hr = pDsrc-&gt;SaveToContainer(bstrFolderURL,
                           0,
                           (enum CDO::ConnectModeEnum) adModeReadWrite,
                           (enum CDO::RecordCreateOptionsEnum)adCreateOverwrite,
                           (enum CDO::RecordOpenOptionsEnum)adOpenSource,
                           L&quot;&quot;,
                           L&quot;&quot;);

      if (SUCCEEDED(hr))
	  {
		str.Format(&quot;Kontakt Erfolgreich hinzugefügt: %s - %s %s&quot;,m_edit_vorname,m_edit_nachname,m_edit_email);
		pLB-&gt;AddString(str);
		str.Format(&quot;-&gt; in Ordner: %s&quot;,m_edit_ordner);
		pLB-&gt;AddString(str);
	  }
	  else
	  {
		str.Format(&quot;Fehler beim Erstellen: %s - %s %s&quot;,m_edit_vorname,m_edit_nachname,m_edit_email);
		pLB-&gt;AddString(str);
	  }
	}
	catch(_com_error &amp;e)
	{
	  dump_com_error(e);
	}

	m_edit_nachname	  = &quot;&quot;;
	m_edit_vorname	  = &quot;&quot;;
	m_edit_email	  = &quot;&quot;;
	UpdateData(FALSE);

	SysFreeString(bstrFolderURL);
</code></pre>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/74190/kontakte-in-ms-exchange-2000-verwalten</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 12:36:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/74190.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 May 2004 09:17:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kontakte in MS-Exchange 2000 verwalten on Tue, 18 May 2004 09:17:43 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich arbeite an einem Programm, mit dem ich Kontakte aus einer externen Datenbank (MS-SQL Server),<br />
in den MS-Exchange Server 2000 exportieren kann.<br />
Erstellen der Kontakte klappt einwandfrei, gemäss Beispiel aus der MSDN:<br />
[url]<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_clb_adding_a_new_contact_with_cdoex_cpp.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_clb_adding_a_new_contact_with_cdoex_cpp.asp</a><br />
[/url]<br />
Kennt jemand eine möglichkeit, einen bestimmten Kontakt wieder zu löschen?</p>
<p>Der Ablauf meines Programms sollte dann folgendermassen sein:<br />
1. Alle Kontakte die in der SQL-DB als &quot;Gelöscht&quot; markiert sind, im Exchange löschen<br />
2. Alle &quot;aktiven&quot; Kontakte aus der SQL-DB in den Exchange kopieren.</p>
<p>Hier mal mein Code zum reinkopieren der funktioniert:</p>
<pre><code class="language-cpp">HRESULT hr = S_OK;

	CString	  str,str_url;
  	CListBox *pLB;
	pLB = (CListBox*)GetDlgItem(IDC_LIST_HISTO);

	str_url = m_edit_url;
	str_url = str_url += m_edit_ordner;
	str_url = str_url += &quot;/&quot;;

	wchar_t* folderURL = NULL;
	size_t size;
	size = mbstowcs(NULL,str_url,0);
	folderURL = (wchar_t*)malloc(size * sizeof(wchar_t*) + 1);
	mbstowcs(folderURL,str_url,size+1);
	BSTR bstrFolderURL = SysAllocString(folderURL);

	try
	{
	  CDO::IPersonPtr pPerson(_uuidof(CDO::Person));
      CDO::IDataSourcePtr pDsrc;

      pPerson-&gt;put_FirstName(m_edit_vorname.AllocSysString());
      pPerson-&gt;put_LastName(m_edit_nachname.AllocSysString());
      pPerson-&gt;put_Email(m_edit_email.AllocSysString());

	  pPerson-&gt;get_DataSource(&amp;pDsrc);

      hr = pDsrc-&gt;SaveToContainer(bstrFolderURL,
                           0,
                           (enum CDO::ConnectModeEnum) adModeReadWrite,
                           (enum CDO::RecordCreateOptionsEnum)adCreateOverwrite,
                           (enum CDO::RecordOpenOptionsEnum)adOpenSource,
                           L&quot;&quot;,
                           L&quot;&quot;);

      if (SUCCEEDED(hr))
	  {
		str.Format(&quot;Kontakt Erfolgreich hinzugefügt: %s - %s %s&quot;,m_edit_vorname,m_edit_nachname,m_edit_email);
		pLB-&gt;AddString(str);
		str.Format(&quot;-&gt; in Ordner: %s&quot;,m_edit_ordner);
		pLB-&gt;AddString(str);
	  }
	  else
	  {
		str.Format(&quot;Fehler beim Erstellen: %s - %s %s&quot;,m_edit_vorname,m_edit_nachname,m_edit_email);
		pLB-&gt;AddString(str);
	  }
	}
	catch(_com_error &amp;e)
	{
	  dump_com_error(e);
	}

	m_edit_nachname	  = &quot;&quot;;
	m_edit_vorname	  = &quot;&quot;;
	m_edit_email	  = &quot;&quot;;
	UpdateData(FALSE);

	SysFreeString(bstrFolderURL);
</code></pre>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/522493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/522493</guid><dc:creator><![CDATA[coJack]]></dc:creator><pubDate>Tue, 18 May 2004 09:17:43 GMT</pubDate></item></channel></rss>