|
Hi,
Suppose I have a SqlCommand as follows:
SqlCommand cmd = new SqlCommand();
cmd.Connection = <my connection="">;
cmd.CommandText = "Insert Into MyTable (Name, Surname) Values (@Name, @Value)";
cmd.Parameters.AddWithValue("@Name", "David");
cmd.Parameters.AddWithValue("@Surname", "Larkin");
cmd.ExecuteNonQuery();</my>
This will end up with the following SQL being executed : "Insert Into MyTable (Name, Surname) Values ('David', 'Larkin')"
Is there any way to actually see the SQL that gets executed? Something like cmd.ExecutedStatement or similar?
Thanks,
dlarkin77
|
|
|
|
|
You can use sql server profiler to see actual query. I'm not aware of other ways to see it.
Giorgi Dalakishvili
#region signature
my articles
#endregion
|
|
|
|
|
You have to look at the database to see what's going on. The Performance Analyzer will tell you what's going on because you can use it to watch the activity on the database.
|
|
|
|
|
I'll look into SQL Server Profiler and the Performance Analyzer. Thanks very much,
dlarkin77
|
|
|
|
|
|
hello
iam creating interfcae on my progect which have genrics type i want some of that generics to be nullable
this my interface start
public interface MainInterface <t,>
i want idtype to be nullable
but i don't know how create that in interface with generics datattype
thanks
md_refay
|
|
|
|
|
You seem to be missing information from your query - like the bit after t,. Could you please post that again? BTW - if you want something nullable, you can always put a nullable constraint in there, such as public class MyClass<T> where T : INullable .
|
|
|
|
|
Pete O'Hanlon wrote: if you want something nullable, you can always put a nullable constraint in there, such as public class MyClass<t> where T : INullable.
You have to mention though that INullable belongs to the SqlTypes namespace, so it can't be applied to the standard C# nullable types.
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Specify that the generic type has to be a value type, then you can make a nullable type from it:
public interface MainInterface<t> where T : struct {
public T? SomeMethod();
public void SomeOtherMethod(T? info);
}</t>
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
localization and Globalization translates a word or sentence in a predefined word or sentence but what should i do if i want to create text according to the pronunciation of the sentence or the word in any other language.
like
"How are you" is equivalent to "comment soyez vous" in French (France), and is equivalent "aap kaise hain" to in Hindi (India).
it can be done with localization and Globalization
but what if i want how are you to be write down in French (France) according to pronunciation and the entered text is not predefined or static it will be passed by user at runtime.
|
|
|
|
|
This is called translation and a pain in the *** even for advanced services like Babelfish[^]. Basically you have to examine all words, put them into a context, find a matching idiom and lots of other stuff to produce a good (in most cases yet still not perfect) translation.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Thanx Greeeg for ur reply but is'nt that the longest way to achieve the target,,,,plz suggest some short way.
regards
rahul adya
|
|
|
|
|
You can of course translate word by word, but this will produce horrible results.
For good translations you need to take the context into consideration the words are in.
Also idioms have different meanings in other languages so translating them word by word will also not produce good results.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
There is no short way to solve this issue. This isn't an easy or quick task to solve, so you shouldn't look for quick fixes.
|
|
|
|
|
ok,,,,,yes i think so
thanx for ur replies
|
|
|
|
|
i tried with cryptEncypt and cryptDecrypt function. Below are the key function which i used to get the publc and private key from certificate
Please check my code.. it not working (its in c# .net)
// create 128 bit hash object
if (!WinApi.CryptCreateHash(hProv,
WinApi.CALG_MD5, IntPtr.Zero, 0, ref hHash))
Failed("CryptCreateHash");
// add passphrase to hash
byte[] keyData = ASCIIEncoding.ASCII.GetBytes(passphrase);
if (!WinApi.CryptHashData(hHash, keyData, (uint)keyData.Length, 0))
Failed("CryptHashData");
// create 40 bit crypto key from passphrase hash
// if (!WinApi.CryptDeriveKey(hProv, WinApi.CALG_RC2,
// hHash, WinApi.CRYPT_EXPORTABLE, ref hKey))
// Failed("CryptDeriveKey");
// Generate new key pair
//WinApi.CryptImportKey(hProv, keyData, (uint)keyData.Length, 0, 0, ref hProv);
// Get a handle to the key exchange key.
if (!WinApi.CryptGetUserKey(hProv, 1, ref hProv))
{
uint dwResult = WinApi.GetLastError();
// printf("Error %x during CryptGetUserKey!\n", GetLastError());
//goto done;
}
if (!WinApi.CryptImportKey(hProv, keyData, (uint)keyData.Length, 0, 0, ref hProv))
{
uint dwResult = WinApi.GetLastError();
}
if (!WinApi.CryptGenKey(hProv, WinApi.CALG_RC2, WinApi.CRYPT_EXPORTABLE, ref hKey))
{
uint dwResult = WinApi.GetLastError();
//MessageBox("Error CryptGenKey() failed.", "Information", MB_OK);
// return;
}
// if (!WinApi.CryptGenKey(hProv, WinApi.CALG_RC2, WinApi.CRYPT_EXPORTABLE, ref hKey))
// {
// Failed("CryptGenKey");
// }
|
|
|
|
|
Suresh Ramasamy wrote: Please check my code.. it not working
Welcome to CodeProject
Please take the time to read this handy Forum Guidelines article[^] Pay particular attention to item #4.
led mike
|
|
|
|
|
Apologies for the vague thread title, the following is a tad complicated to summarise well. Anyway, enough excuses...
Lets say I have a multi tier application that consists of 1 client and 2 server applications (A & B). Both servers have remoting listener services each of which are entirely self contained and do not share any common sinks, both remoting frameworks contain a custom encryption sink (each of which are entirely independent implementations)
In my current setup, the client pushes all its requests to server A. Some of these are handled within A others require a server A to server B remoting call.
Now here's the problem:
When server A is invoked by the client and this requires a remoting call to server B the call from A to B fails with a CryptographicException. It seems that for some reason the A to B encryption sink is not being called, so when B receives the data it cannot decrypt as the format is invalid.
Does anybody have any ideas of what could be happening here?
p.s. Interesting if I code the client to remote directly to A or B then these calls work without any issues.
modified on Wednesday, September 10, 2008 1:05 PM
|
|
|
|
|
I think its a 'Serialization' issue.
I am not sure but, Try without encryption. If it still gives you error then its a problem of Serialization else your encription methods mismatched.
|
|
|
|
|
I've found this issue with double hop applications before. Something, and I could never figure out what, caused the code to fall over with an invalid key issue.
|
|
|
|
|
After much hair pulling I have found a solution to this problem, I am not particularly happy with it but it is a solution none the less.
After doing some further debugging it seems that when the A to B request is made the .NET Framework pushes this into the incorrect channel (i.e. the Client to A) as this channel has different sinks, when B receives the data it is unable to process it. Interestingly if I unregistered the Client to A channel the A to B call would work, obviously this isn't a solution as this then breaks all Client to A comms.
At first it seemed that the solution was obvious, make sure that the correct channel is used. After much googling I have been unable to find a method of doing this. I did however find alot of people with the same problem
So the solution...
The server B remoting framework has a client library which is installed on A. This library contains all the methods that B exposes across remoting. The solution was to create a wrapper around this client library, on instantiation the wrapper creates a new AppDomain and loads the client library into it. I then use a marhsalled transparent proxy object across to call the client library. Doing this means that the new AppDomain on has a single TcpChannel registered and therefore the selection issue doesn't exist.
As always with these things there was a gotcha, which is if you leave the AppDomain unused for more than 5 minutes (default) the lease expires and the proxy fails. This can be fixed by, in the client library, overriding "InitializeLifetimeService" and returning null.
So, wrapper code:
public sealed class ClientLibraryWrapper
{
AppDomain clientDomain;
ServerB.Client.EntryPoint client;
public ClientLibraryWrapper
{
this.clientDomain = AppDomain.CreateDomain("ServerBClientDomain");
Assembly clientAssembly = Assembly.LoadFile(Environment.CurrentDirectory + @"\ServerB.Client.dll");
this.clientDomain.Load(clientAssembly.FullName);
Object obj = mhsClientDomain.CreateInstanceAndUnwrap(clientAssembly.FullName, "ServerB.Client.EntryPoint");
this.client = (ServerB.Client.EntryPoint)obj;
}
public int ServerBMethod()
{
this.client.ServerBMethod();
}
}
Client library code:
public sealed class EntryPoint : MarshalByRefObject
{
public override object InitializeLifetimeService()
{
return null;
}
public int ServerBMethod()
{
return 1;
}
}
|
|
|
|
|
Here “Key not valid for use in specified state” is coming
---------------------------------------------------------
CspParameters cspParam = new CspParameters();
cspParam.Flags = CspProviderFlags.UseMachineKeyStore;
cspParam.KeyContainerName = "MyContainer";
cspParam.KeyNumber = 1;
System.Security.Cryptography.RSACryptoServiceProvider RSA
= new System.Security.Cryptography.RSACryptoServiceProvider(cspParam);
// Encryption based on Public Key
Byte[] EncryptedStrAsByt;
RSA.ImportParameters(RSA.ExportParameters(false)); // gets the public key for encryption
String str = "HelloThere";
EncryptedStrAsByt = RSA.Encrypt(System.Text.Encoding.Unicode.GetBytes(str), false);
string EncryptedStrAsString = System.Text.Encoding.Unicode.GetString(EncryptedStrAsByt);
// As a "proof of concept", to DECRYPT the same data, but now using the Private key:
//---Load the Public key---
RSA.ImportParameters(RSA.ExportParameters(true));
Byte[] DecryptedStrAsByt = RSA.Decrypt(System.Text.Encoding.Unicode.GetBytes(EncryptedStrAsString), false);
string DecryptedStrAsString = System.Text.Encoding.Unicode.GetString(DecryptedStrAsByt);
|
|
|
|
|
i have test your code, but more detail you can see this link[^]
or this link[^]
but i change your code like this and it works
CspParameters cspParam = new CspParameters();
cspParam.Flags = CspProviderFlags.UseMachineKeyStore;
cspParam.KeyContainerName = "MyContainer";
cspParam.KeyNumber = 1;
System.Security.Cryptography.RSACryptoServiceProvider RSA = new System.Security.Cryptography.RSACryptoServiceProvider(cspParam);
RSAParameters privatePar = RSA.ExportParameters(true);
RSAParameters publicPar = RSA.ExportParameters(false);
Byte[] EncryptedStrAsByt;
RSA.ImportParameters(publicPar);
String str = "HelloThere";
EncryptedStrAsByt = RSA.Encrypt(System.Text.Encoding.Unicode.GetBytes(str), false);
RSA.ImportParameters(privatePar );
Byte[] DecryptedStrAsByt = RSA.Decrypt(EncryptedStrAsByt, false);
string DecryptedStrAsString = System.Text.Encoding.Unicode.GetString(DecryptedStrAsByt);
hope it helps
dhaim
programming is a hobby that make some money as side effect
|
|
|
|
|
Is it possible to sort a generic list base don the sort of another generic list?
Here is what I am working with:
I have a List<string> object that I built out of a List<q_object>, where the strings in the first list are populated with a specific string property from the second.
so, say this is my example, the List<Q_object> object is made up of this:
lets say Q_object has the follwing properties:
string str1
string str2
int i
and my objects in the list are specifically:
Q_object[0] has
str1 = "fudge";
str2 = "brownie";
i = 0;
Q_object[1] has
str1 = "Beer";
str2 = "Sausage";
i = 1;
Q_object[2] has
str1 = "Pancakes";
str2 = "waffles";
i = 2;
now, the List<string> has the following:
"Sausage"
"brownie"
"waffles"
essentially, somwhere along the line, the list got out of order. Now, I need it to be in the original order, but it has to be the string list as opposed to me trying to access the properties of each individual object in the original list. is there a way to say "sort List<string> to match List<q_object>'s properties with the same values"?
I'm thinking Linq has my answers, but I dont know for sure, and I dont know where to begin. Any suggestions would be appreciated
______________________
Oh Hamburgers!
|
|
|
|
|
You can write a custom comparer for the object to be used in the list?
I don't really understand the problem but sometimes that is a good solution for sorting woes, There is also the SortedList class available for use.
Need software developed? Offering C# development all over the United States, ERL GLOBAL, Inc is the only call you will have to make.
Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway
Most of this sig is for Google, not ego.
|
|
|
|
|