|
After giving all 17 projects a strong name it now compiles!!
|
|
|
|
|
Hi Friend,
I have developed addin for outlook 2003. It installing and working fine with outlook 2003.
and it is installing for outlook 2007 but when i go to enable the addin it is not loading.
any idea ..
|
|
|
|
|
Are you using outlook InterOp services. If so, the API will be different in outlook2003 and outlook2007.
|
|
|
|
|
Hi Abhishek
Thank you for Reply.
I am not using Interop services.
if used .
then their should be exception when i run the plug in.
but actually installing successfully and not loading when i add it from the view..Trust Center..Addin
|
|
|
|
|
|
when i update a gridview in transaction column it show error"The datatypes text and nvarchar are invompatible in the equal to operator"
transaction has nvarchar datatype
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
ErrorMessage.Text = "";
cnx.Open();
SqlCommand insertCmd = new SqlCommand("INSERT INTO TransactionType([Transaction],Description,Category,Active) VALUES(@Transaction,@Description,@Category,@Active)", cnx);
insertCmd.Parameters.Add("@Transaction", SqlDbType.NVarChar, 50);
insertCmd.Parameters["@Transaction"].Value = txtProgram.Text;
insertCmd.Parameters.Add("@Description", SqlDbType.Text );
insertCmd.Parameters["@Description"].Value = txtdescrip.Text;
insertCmd.Parameters.Add("@Category", SqlDbType.NVarChar ,50);
insertCmd.Parameters["@Category"].Value = DdlCategory.Text;
insertCmd.Parameters.Add("@Active", SqlDbType.NChar ,10);
insertCmd.Parameters["@Active"].Value = DdlActive.Text;
insertCmd.ExecuteNonQuery();
ErrorMessage.Text = "Successful";
cnx.Close();
}
catch (Exception ex)
{
ErrorMessage.Text = ex.Message;
}
}
|
|
|
|
|
The error means what it says. Your column is of the text type, not nvarchar.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Check your parameters types with table scheme
|
|
|
|
|
i check the parameters it is of nvarchar
|
|
|
|
|
i want to insert data into the sql database when i click on submit button it show error that incorrect syntax near the keyword 'Transaction'. i cann't find this error plz help
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
ErrorMessage.Text = "";
cnx.Open();
SqlCommand insertCmd = new SqlCommand("INSERT INTO TransactionType(Transaction,Description,Category,Active)
VALUES(@Transaction,@Description,@Category,@Active)", cnx);
insertCmd.Parameters.Add("@Transaction", SqlDbType.NVarChar, 50);
insertCmd.Parameters["@Transaction"].Value = txtProgram.Text;
insertCmd.Parameters.Add("@Description", SqlDbType.Text );
insertCmd.Parameters["@Description"].Value = txtdescrip.Text;
insertCmd.Parameters.Add("@Category", SqlDbType.NVarChar ,50);
insertCmd.Parameters["@Category"].Value = DdlCategory.Text;
insertCmd.Parameters.Add("@Active", SqlDbType.NChar ,10);
insertCmd.Parameters["@Active"].Value = DdlActive.Text;
insertCmd.ExecuteNonQuery();
ErrorMessage.Text = "Successful";
cnx.Close();
}
catch (Exception ex)
{
ErrorMessage.Text = ex.Message;
}
}
|
|
|
|
|
In Microsoft SQL Server (and probably any other RDBMS that supports transactions), TRANSACTION is a reserved keyword.
Change your SQL to read
INSERT INTO TransactionType([Transaction],Description,Category,Active)
VALUES(@Transaction,@Description,@Category,@Active) The square brackets indicate a name rather than a keyword.
"we must lose precision to make significant statements about complex systems."
-deKorvin on uncertainty
|
|
|
|
|
THANK U VERY MUCH ITS WORKS
|
|
|
|
|
The error is telling you that you have a problem with your SQL being sent to the database, not with your C# code.
Transaction is a reserved word. Try surrounding it with square brackets [Transaction]
|
|
|
|
|
I have a telnet server that runs scripts. I have a command called
files_download "path\filename.zip"
All this does is send a file from the telnet server to the terminal program. I'm trying to use fdsz and gsz File Transfer protocols to send these files. When I run it. The fdsz or gsz starts. I keep getting port not detected. Well I even tried fdsz port 23 sz %1 and I still get the same error
Can some one tell me what I'm doing wrong and how to fix this.
Thanks
Joe
|
|
|
|
|
I have
int[,] Grid = new int[20,20];
but I do not know how to effieciently store each value. I do not want to create a single dimensional array--it will be difficult to use in my program--and I do not want to store each value one by one. Here are the values I want in my array:
08, 02, 22, 97, 38, 15, 00, 40 ,00, 75, 04, 05, 07 ,78 ,52, 12, 50, 77, 91, 08,
49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40 ,98, 43, 69, 48, 04, 56, 62, 00,
81, 49, 31, 73, 55, 79 ,14 ,29 ,93, 71, 40, 67, 53, 88, 30, 03, 49, 13, 36, 65,
52, 70, 95, 23, 04, 60, 11, 42, 69, 24, 68, 56, 01, 32, 56, 71, 37, 02, 36, 91,
22, 31, 16, 71, 51, 67, 63, 89, 41, 92, 36, 54, 22, 40, 40, 28, 66, 33, 13, 80,
24, 47, 32, 60, 99, 03, 45, 02, 44, 75, 33, 53, 78, 36, 84, 20, 35, 17, 12, 50,
32, 98, 81, 28, 64, 23, 67, 10, 26, 38, 40, 67, 59, 54, 70, 66, 18, 38, 64, 70,
67, 26, 20, 68, 02, 62, 12, 20, 95, 63, 94, 39, 63, 08, 40, 91, 66, 49, 94, 21,
24, 55, 58, 05, 66, 73, 99, 26, 97, 17, 78, 78, 96, 83, 14, 88, 34, 89, 63, 72,
21, 36, 23, 09, 75, 00, 76, 44, 20, 45, 35, 14, 00, 61, 33, 97, 34, 31, 33, 95,
78, 17, 53, 28, 22, 75, 31, 67, 15, 94, 03, 80, 04, 62, 16, 14 ,09 ,53, 56, 92,
16, 39, 05, 42, 96, 35, 31, 47 ,55 ,58 ,88, 24, 00, 17, 54, 24, 36, 29, 85, 57,
86, 56, 00, 48, 35, 71, 89, 07, 05, 44, 44, 37, 44, 60, 21, 58, 51, 54, 17, 58,
19, 80, 81, 68, 05, 94, 47, 69, 28, 73, 92, 13, 86, 52, 17, 77, 04, 89, 55, 40,
04, 52, 08, 83, 97, 35, 99, 16, 07, 97, 57, 32, 16, 26, 26, 79, 33, 27, 98, 66,
88, 36, 68, 87, 57, 62, 20, 72, 03, 46, 33, 67, 46, 55, 12, 32, 63, 93, 53, 69,
04, 42, 16, 73, 38, 25, 39, 11, 24, 94, 72, 18, 08, 46, 29, 32, 40, 62, 76, 36,
20, 69, 36, 41, 72, 30, 23, 88, 34, 62, 99, 69, 82, 67, 59, 85, 74, 04, 36, 16,
20, 73, 35, 29, 78, 31, 90, 01, 74, 31, 49, 71, 48, 86, 81, 16, 23, 57, 05, 54,
01, 70, 54, 71, 83, 51, 54, 69, 16, 92, 33, 48, 61, 43, 52, 01, 89, 19, 67, 48,
|
|
|
|
|
Read more of the documentation.
Do you mean something like this?
int[,] Grid = new int[,]
{
{08, 02, 22, 97, 38, 15, 00, 40 ,00, 75, 04, 05, 07 ,78 ,52, 12, 50, 77, 91, 08},
{49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40 ,98, 43, 69, 48, 04, 56, 62, 00},
{81, 49, 31, 73, 55, 79 ,14 ,29 ,93, 71, 40, 67, 53, 88, 30, 03, 49, 13, 36, 65},
{52, 70, 95, 23, 04, 60, 11, 42, 69, 24, 68, 56, 01, 32, 56, 71, 37, 02, 36, 91},
{22, 31, 16, 71, 51, 67, 63, 89, 41, 92, 36, 54, 22, 40, 40, 28, 66, 33, 13, 80},
{24, 47, 32, 60, 99, 03, 45, 02, 44, 75, 33, 53, 78, 36, 84, 20, 35, 17, 12, 50},
{32, 98, 81, 28, 64, 23, 67, 10, 26, 38, 40, 67, 59, 54, 70, 66, 18, 38, 64, 70},
{67, 26, 20, 68, 02, 62, 12, 20, 95, 63, 94, 39, 63, 08, 40, 91, 66, 49, 94, 21},
{24, 55, 58, 05, 66, 73, 99, 26, 97, 17, 78, 78, 96, 83, 14, 88, 34, 89, 63, 72},
{21, 36, 23, 09, 75, 00, 76, 44, 20, 45, 35, 14, 00, 61, 33, 97, 34, 31, 33, 95},
{78, 17, 53, 28, 22, 75, 31, 67, 15, 94, 03, 80, 04, 62, 16, 14 ,09 ,53, 56, 92},
{16, 39, 05, 42, 96, 35, 31, 47 ,55 ,58 ,88, 24, 00, 17, 54, 24, 36, 29, 85, 57},
{86, 56, 00, 48, 35, 71, 89, 07, 05, 44, 44, 37, 44, 60, 21, 58, 51, 54, 17, 58},
{19, 80, 81, 68, 05, 94, 47, 69, 28, 73, 92, 13, 86, 52, 17, 77, 04, 89, 55, 40},
{04, 52, 08, 83, 97, 35, 99, 16, 07, 97, 57, 32, 16, 26, 26, 79, 33, 27, 98, 66},
{88, 36, 68, 87, 57, 62, 20, 72, 03, 46, 33, 67, 46, 55, 12, 32, 63, 93, 53, 69},
{04, 42, 16, 73, 38, 25, 39, 11, 24, 94, 72, 18, 08, 46, 29, 32, 40, 62, 76, 36},
{20, 69, 36, 41, 72, 30, 23, 88, 34, 62, 99, 69, 82, 67, 59, 85, 74, 04, 36, 16},
{20, 73, 35, 29, 78, 31, 90, 01, 74, 31, 49, 71, 48, 86, 81, 16, 23, 57, 05, 54},
{01, 70, 54, 71, 83, 51, 54, 69, 16, 92, 33, 48, 61, 43, 52, 01, 89, 19, 67, 48}
}
|
|
|
|
|
Yes. Thanks
|
|
|
|
|
Or, as you have your numbers nicely formatted, you could read them from a file and set in a couple of for loops...
using System.IO;
StreamReader sr = new StreamReader("inputfile.txt");
int[,] Grid = new int[20,20];
for(int i = 0; i < 20; i++)
{
string line = sr.ReadLine();
string[] vals = line.Split(new char[]{','}, StringSplitOptions.RemoveEmptyEntries);
for(int j = 0; j < 20; j++)
Grid[i, j] = int.Parse(vals[j]);
}
sr.Close();
...A bit messy, but you get the idea. Also you will need to do some testing on the input file to make sure it contains correct data to avoid crash
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Why don't you want to store them one by one in the array you have defined?
|
|
|
|
|
I'm having an issue determining the size of an array of structures, missingTrans in the code below, that reside within another structure, REGISTER_TOTALS. When I use the MarshalAs attribute shown in the code it sees missingTrans as a 4 byte reference to the array. When I do a, Marshal.SizeOf(typeof(MISSING_TRANS)) , the result is that missingTrans is calculated as being 24 bytes instead of 48. I've tried google and searched numerous message boards but have been unable to come up with anything that works. I would appreciate any help.
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public class MISSING_TRANS
{
public UInt32 FirstTrans;
public UInt32 LastTrans;
public void byteSwap()
{
ISPData.swap4Bytes(ref FirstTrans);
ISPData.swap4Bytes(ref LastTrans);
}
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public class REGISTER_TOTALS
{
public RECORD_ID recID;
public UInt16 RecordVersion;
public UInt16 LocationNum;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 52)]
public byte[] Filler1;
public UInt32 RegRdsTotal;
public UInt32 CalcRdsTotal;
public UInt16 RegRdsCount;
public UInt16 CalcRdsCount;
...
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.Struct,
SizeConst = 6)]
public MISSING_TRANS[] missingTrans;
public UInt16 RegisterForceClosed;
public UInt16 RegisterModel;
...
}
|
|
|
|
|
Hi,
it is not entirely clear to me, however there seem to be some inconsistencies in your post:
1.
why should MISSING_TRANS take either 24 or 48 bytes? all I see is two integers.
2.
why is MISSING_TRANS declared a class, but you are using "ArraySubType = UnmanagedType.Struct" ?
FWIW: I use P/Invoke quite a lot, however I try and keep the data stucture as simple as possible,
which one can do when in charge of both sides. In particular I avoid passing a class, a struct holding other than basic types, and arrays holding other than basic types.
That may take some adjusting, however there are several benefits: it works almost right away, and most of the time the marshaling is free, i.e. no data gets ever copied, it is just passing pointers back and forth.
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
Hello,
Thanks for the reply. Let me address your questions in order:
1. The reason that I say the size for MISSING_TRANS is 24 bytes is that there are 6 occurences of the array and SizeOf sees MISSING_TRANS as a 4 byte reference instead of an 8 byte structure. What I was hoping with the MarshalAs attribute was to get the data marshalled so that SizeOf would see MISSING_TRANS as 48 bytes, what it should be.
2. Yes MISSING_TRANS is declared as a class but I believe it is really being used as a structure thus allowing me to use the [StructLayout(LayoutKind.Sequential, Pack = 1)] attribute.
I see your point about keeping the structure as simple as possible. I haven't used P/Invoke before and will have to look into it. I was just wondering if anyone had successfully used MarshalAs on an array of structures. Again thanks for the reply.
|
|
|
|
|
Hi,
some comments:
0.
I now see you were referring to the MISSING_TRANS[] array inside REGISTER_TOTALS, not MISSING_TRANS itself.
1.
as I've told you before your MISSING_TRANS was defined as a class, not a struct; that is where you went wrong. Make it a struct, and its data will sit right in the array of fixed size inside REGISTER_TOTALS. As long as MISSING_TRANS is a class all REGISTER_TOTALS can do is hold pointers to it's instances.
2.
I'm not sure whether REGISTER_TOTALS will Marshal fine as that is a class too; consider making it a struct!
3.
FYI: references/pointers would take 4 bytes each on Win32 and 8 on Win64. IntPtr takes care of that, however a lot of P/Invoke examples are plain wrong in this respect.
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
That did the trick. I forgot that structures are passed by value and classes by reference. REGISTER_TOTALS does marshal okay. Thanks for all of your help.
|
|
|
|
|
you're welcome.
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|