Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 2e9c43658e374d290a2de15d25134ac8 > files > 530

db4o-doc-8.0-1.fc15.i686.rpm

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" MadCap:lastBlockDepth="2" MadCap:lastHeight="120" MadCap:lastWidth="624" MadCap:disableMasterStylesheet="true" MadCap:tocPath="Basics Operations &amp; Concepts" MadCap:InPreviewMode="false" MadCap:RuntimeFileType="Topic" MadCap:TargetType="WebHelp" MadCap:PathToHelpSystem="../../" MadCap:HelpSystemFileName="index.xml" MadCap:SearchType="Stem">
    <head><title>The Basic Operations</title>
        <script type="text/javascript">/* <![CDATA[ */
window.onload = function(){
	var pathToFlash = $('html').attr('MadCap:PathToHelpSystem') + 'Content/Resources/Code/ZeroClipboard.swf';
	ZeroClipboard.setMoviePath(pathToFlash);
			
	function bindToClipBord(element,content){
		var clip = new ZeroClipboard.Client();
		clip.setText(content);
		clip.glue(element);
	};
		
	if(location.protocol==='file:'){
		$('.copylink-marker').remove();
	} else{
			$('.copylink-marker').each(function(){
				var text = $(this).parent().parent().children('.prettyprint').html();
				$(this).hover(function(){
					bindToClipBord(this,text);
				},
				function(){});
			});	
	}		
	prettyPrint();	
};
                /* ]]> */</script>
        <link href="../SkinSupport/MadCap.css" rel="stylesheet" />
        <link href="../Resources/Stylesheets/OnlineStyle.css" rel="stylesheet" />
        <script src="../Resources/Code/prettify.js">
        </script>
        <script src="../Resources/Code/lang-vb.js">
        </script>
        <script src="../Resources/Code/jquery.min.js">
        </script>
        <script src="../Resources/Code/ZeroClipboard.js">
        </script>
        <script src="../SkinSupport/MadCapAll.js" type="text/javascript">
        </script>
    </head>
    <body>
        <p class="MCWebHelpFramesetLink" style="display: none;"><a href="../../index_CSH.html#basics/object_container.htm" style="">Open topic with navigation</a>
        </p>
        <div class="MCBreadcrumbsBox"><span class="MCBreadcrumbsPrefix">You are here: </span><a class="MCBreadcrumbsLink" href="../basics.htm">Basics Operations &amp; Concepts</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">Access The Database</span>
        </div>
        <p>
            <script type="text/javascript">/*<![CDATA[*/document.write('<a href="' + location.href +'">');
				document.write("Direct Link");
			document.write('</a>');/*]]>*/</script>
        </p>
        <p>
        </p>
        <h1><a name="kanchor4"></a>The Basic Operations</h1>
        <P>The object container is the door to the database access. It's the starting point for all database operations.</P>
        <h2><a name="AccessingDB"></a>Accessing a Database </h2>
        <P>The object container is the interface for accessing the database. To open the database you pass the file-name to the object container factory.  Normally you should open an object container when the application starts and close it when it is shuts down. </P>
        <div class="codesnippet" MadCap:conditions="Primary.c#">
            <pre class="prettyprint" xml:space="preserve">using (IObjectContainer container = Db4oEmbedded.OpenFile("databaseFile.db4o"))
{
    // use the object container
}</pre>
            <div class="codesnippet-meta">Db4oBasics.cs: Open the object container to use the database
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-csharp.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <div class="codesnippet" MadCap:conditions="Primary.VB.NET">
            <pre class="prettyprint lang-vb" MadCap:conditions="Primary.Online" xml:space="preserve">' use the object container
Using container As IObjectContainer = Db4oEmbedded.OpenFile("databaseFile.db4o")
End Using</pre>
            <div class="codesnippet-meta">Db4oBasics.vb: Open the object container to use the database
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-vb.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <h2><a name="kanchor5"></a><a name="StoringObject"></a>Storing Objects</h2>
        <P>Storing a object with db4o is extremely easy. Open the object container and pass your object to the store method and db4o will do the rest. There's no mapping required. db4o will read the class meta data, the read the object values with reflection and store the data.</P>
        <div class="codesnippet" MadCap:conditions="Primary.c#">
            <pre class="prettyprint" xml:space="preserve">using (IObjectContainer container = Db4oEmbedded.OpenFile("databaseFile.db4o"))
{
    Pilot pilot = new Pilot("Joe");
    container.Store(pilot);
}</pre>
            <div class="codesnippet-meta">Db4oBasics.cs: Store a object
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-csharp.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <div class="codesnippet" MadCap:conditions="Primary.VB.NET">
            <pre class="prettyprint lang-vb" MadCap:conditions="Primary.Online" xml:space="preserve">Using container As IObjectContainer = Db4oEmbedded.OpenFile("databaseFile.db4o")
    Dim pilot As New Pilot("Joe")
    container.Store(pilot)
End Using</pre>
            <div class="codesnippet-meta">Db4oBasics.vb: Store a object
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-vb.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <h2><a name="Queries"></a>Queries </h2>
        <p>Querying for objects is also easy. There are different query interfaces available with different benefits. <a href="querying.htm" target="" title="" alt="" class="MCXref" xrefformat="See &quot;{paratext}&quot;">See "Querying"</a></p>
        <p MadCap:conditions="Primary..NET">The most natural query method is using <a href="querying/linq.htm">LINQ</a>. </p>
        <div class="codesnippet" MadCap:conditions="Primary.c#">
            <pre class="prettyprint" xml:space="preserve">using (IObjectContainer container = Db4oEmbedded.OpenFile("databaseFile.db4o"))
{
    var pilots = from Pilot p in container
                 where p.Name == "Joe"
                 select p;
    foreach (var pilot in pilots)
    {
        Console.Out.WriteLine(pilot.Name);
    }
}</pre>
            <div class="codesnippet-meta">Db4oBasics.cs: Query for objects
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-csharp.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <div class="codesnippet" MadCap:conditions="Primary.VB.NET">
            <pre class="prettyprint lang-vb" MadCap:conditions="Primary.Online" xml:space="preserve">Using container As IObjectContainer = Db4oEmbedded.OpenFile("databaseFile.db4o")
    Dim pilots = From p As Pilot In container Where p.Name = "Joe"
    For Each pilot As Pilot In pilots
        Console.Out.WriteLine(pilot.Name)
    Next
End Using</pre>
            <div class="codesnippet-meta">Db4oBasics.vb: Query for objects
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-vb.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <h2><a name="UpdateObjects"></a>Update Objects</h2>
        <p>Updating objects is also easy. First you query for the object which you want to update. Then you change the object and store it again in the database.</p>
        <div class="codesnippet" MadCap:conditions="Primary.c#">
            <pre class="prettyprint" xml:space="preserve">using (IObjectContainer container = Db4oEmbedded.OpenFile("databaseFile.db4o"))
{
    var pilot = (from Pilot p in container
                 where p.Name == "Joe"
                 select p).First();
    pilot.Name = "New Name";
    // update the pilot
    container.Store(pilot);
}</pre>
            <div class="codesnippet-meta">Db4oBasics.cs: Update a pilot
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-csharp.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <div class="codesnippet" MadCap:conditions="Primary.VB.NET">
            <pre class="prettyprint lang-vb" MadCap:conditions="Primary.Online" xml:space="preserve">Using container As IObjectContainer = Db4oEmbedded.OpenFile("databaseFile.db4o")
    Dim pilot = (From p As Pilot In container Where p.Name = "Joe").First()
    pilot.Name = "New Name"
    ' update the pilot
    container.Store(pilot)
End Using</pre>
            <div class="codesnippet-meta">Db4oBasics.vb: Update a pilot
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-vb.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <h2><a name="DeleteObjects"></a>Delete Objects</h2>
        <P>Use the delete-operation to delete objects.</P>
        <div class="codesnippet" MadCap:conditions="Primary.c#">
            <pre class="prettyprint" xml:space="preserve">using (IObjectContainer container = Db4oEmbedded.OpenFile("databaseFile.db4o"))
{
    var pilot = (from Pilot p in container
                 where p.Name == "Joe"
                 select p).First();
    container.Delete(pilot);
}</pre>
            <div class="codesnippet-meta">Db4oBasics.cs: Delete a object
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-csharp.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <div class="codesnippet" MadCap:conditions="Primary.VB.NET">
            <pre class="prettyprint lang-vb" MadCap:conditions="Primary.Online" xml:space="preserve">Using container As IObjectContainer = Db4oEmbedded.OpenFile("databaseFile.db4o")
    Dim pilot = (From p As Pilot In container Where p.Name = "Joe").First()
    container.Delete(pilot)
End Using</pre>
            <div class="codesnippet-meta">Db4oBasics.vb: Delete a object
			<div class="codedownload"><a href="../CodeExamples/basics/Example-Code-basics-vb.zip" class="codedownload" MadCap:conditions="Primary.Online">Download Code</a></div><div class="codedownload copylink-marker" MadCap:conditions="Primary.Online"><a href="#copy">Copy Code</a></div></div>
        </div>
        <script type="text/javascript" src="../SkinSupport/MadCapBodyEnd.js">
        </script>
    </body>
</html>