|
Look at the "generic" DataSet generated with the first statement. See how the tables are named. Now name the tables in your typed DataSet the same way, or use a DataTableMapping as I've said several times above. If the table names in the result set don't match up with the names of a configured DataSet , it will remain empty.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thnank you! It works now!!! I've just renamed dataset tebles...but I still don't understand how DataTableMapping works, but anyway thanx for you advises. Crystal Reports not so suitable technology as for me...
xedom developers team
|
|
|
|
|
leTaon wrote:
Crystal Reports not so suitable technology
I agree. While the user's experience is great with Crystal, the developer goes through literal hell trying to get it working correctly.
Yes, I program in VB6, but only because I use it to fill my addiction to having a dry place to sleep and food to eat!
|
|
|
|
|
Just look at the class name: table mappings. If you look at the documentation, it maps a source table name to a destination table name, so that if the table name in the result set the DataAdapter gets is different from what you want it to be in a configured DataSet , it will map it.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi!
I am trying to use XmlSerialization in the following scenario:
1. I have a class called Test:
public class Test
{
private int someAttribute;
[XmlAttribute]
public int Att
{
get
{
return someAttribute;
}
set
{
someAttribute=value;
}
}
}
2. And a subclass:
public class SubTest
{
public string something;
}
Upon serilialization, I get the following:
<Test Att="int" />
<SubTest>
<something>string</something>
</SubTest>
As can be seen the attribute Att is not visible in the subclass. Using virtual (for the property) and overriding it, or just hiding it with 'new' also did not help. Creating a new attribute with the same name (i.e. marking it as [XmlAttribute("Att")] also creates an error. Any suggestion as to how I can have an attribute of the same name in the subclass also?
Thanks!
|
|
|
|
|
I see no subclasses. SubTest does not extend Test , i.e. you must code it as SubText : Test .
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
thats what happens when you don't copy and paste
In my actual code Subtest extends test
so:
public class SubTest:Test
{
public string something;
}
Thanks!
|
|
|
|
|
When you create your XmlSerializer instance, make sure you create it using either your instance of SubTest or the type of SubTest (using typeof(SubTest) ). The following sample works just fine:
using System;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
public class Test
{
static void Main()
{
SubTest test = new SubTest();
XmlTextWriter writer = new XmlTextWriter("Test.xml", Encoding.UTF8);
XmlSerializer serializer = new XmlSerializer(typeof(SubTest));
serializer.Serialize(writer, test);
}
[XmlAttribute]
public int Attr
{
get { return 1; }
set { ; }
}
}
public class SubTest : Test
{
public string Something = "Test";
}
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks!
I was actually trying to do this as part of creating a webservice, and apologies for not making this more specific.
I have a webmethod which looks something like:
MyWebMethod(SubTest sub){
somestuff;
}
When I create the webservice and look at the soap message that would be sent, I don't see the attribute there (i.e. the string looks like <sub> string </sub> instead of <sub att=int> string </sub>. I guess the default xmlserializer does not pick the derived attribute. Is there anyway of informing the serializer in the context of writing a webservice?
Thanks!
|
|
|
|
|
I'm new to C#, just started building my first few applications. I wanted to build a really simple program for manipulating my cd/dvd drive. I want to have a Play, a stop, and an eject button.
I was thinking of followign this tutorial CD Player library using MCI
Unfortunately, I've run into my first problem. I can't seem to find DeviceController.dll. I'm using the free C# IDE by Borland, and on my listing of references, this doesn't appear. A friend suggest that I make sure I have the Platform SDK installed, but after installing that and rebotting, the .dll still was not available.
Is there a newer .dll or another way of doing this in high level? Or am I stuck until I find this .dll?
|
|
|
|
|
DeviceController.dll is already compiled in the Demo Application ZIP file, and you can compile it from the source. Both links are at the top of the article (typical for articles on CodeProject). Extract that DLL to some directory on your hard drive and add a reference to that DLL (assembly) to your project. Just click the Browse button and browse to the directory where you extracted it.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
You didn't download the source files for that article, did you? You'll find the DeviceController.dll that you're looking for in the source files .Zip file. It's not a standard .DLL you'll find on any Windows machine. It was custom written by the author of the article.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Oh. I didn't download it because I thought it was a standard DLL. I didn't realize it was custom written. I downloaded it and browsed through it, but wanted to do this on my own from scratch. I guess I'll have to develop my own dll too. Thanks.
|
|
|
|
|
The source for the .DLL is in there too if you want to take a look to see how it's done...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Sweet. My goal was to do this on my own though. I've looked at the MCI Interface at MSDN. It's a little above my level, but they show how to set up a wave file for playback. Maybe I'll start with that. Then look over the .dll source and see if how that works.
|
|
|
|
|
I want to format a string with embedded backslashes. The string that I want is as follows:
This is John I\. Smith.
Here's the code snippet:
string temp1 = "John I\\. Smith";
string temp2 = String.Format("This is {0}.", temp);
What I get in temp2 is:
This is John I\\. Smith.
instead of
This is John I\. Smith.
How do I get rid of the extra backslash?
BRCKCC
|
|
|
|
|
BrcKcc wrote:
This is John I\\. Smith.
Is that in the debugger, or in actual application output??
One easy way to be sure is to use
string myString = @"Use\a\slash\only\once";
the @ symbol in front of the string literal tells the compiler not to interpret the slashes as escape sequences. If you do want to include an escape sequence this won't work for you.
Cheers,
Andy.
|
|
|
|
|
It was in the debugger. It turns out when I displayed the string via MessageBox.Show(), it only had one backslash. So thanks for that clarification. The @ symbol has been confusing. How do I convert a string defined with the @ symbol to a string without the @ symbol? Do you know where Microsoft documented this capability?
Thanks.
- Bruce
BRCKCC
|
|
|
|
|
BrcKcc wrote:
How do I convert a string defined with the @ symbol to a string without the @ symbol?
What do you mean? They are all the same thing: a string object.
string a = "String\\Literal";
string b = @"String\Literal";
a==b
[EDIT - sorry, I had the slashes the wrong way round before]
Cheers,
Andy
|
|
|
|
|
Hi,
I have a web application and a windows service written in C# and I want to share the config file between the two. At the moment it looks like I would have to copy them each time I make an update. I would rather not do this.
Any ideas of how I may achieve this?
Cheers,
Andy.
|
|
|
|
|
AFAIK, you will have to do this. Unless, of course, you launch both the WebService and your Windows app out of the same directory (not likely...)
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
That wouldn't work, either. ASP.NET uses Web.config and applications (using the loader information in the PE/COFF executable that mscoree.dll uses) use <appname>.exe.config.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Smack! That's right! Ouch... Now I need some Advil.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I've found an attribute on appSettings called file which can point to another file and I was hoping to use that as an alternative, but I can't seem to get that to work either. I just don't see where I am going wrong.
In the web.config I've got:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings file="general.config"/>
...
</configuration> And in the general.config I've got
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="encryption_level" value="2"/>
<add key="timer_interval" value="60" />
</appSettings>
But, in my tester application which just writes out the app settings it returns no information. If the appSettings section is copied into the web.config file it works as expected.
|
|
|
|
|
Try using an absolute path rather than a relative path. e.g.
<br />
<appSettings file="C:\inetpub\wwwroot\MyWebApp\general.config"/><br />
Does this help?
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
The Second EuroCPian Event will be in Brussels on the 4th of September
Can't manage to P/Invoke that Win32 API in .NET? Why not do interop the wiki way!
|
|
|
|