|
|
Home » U++ Library support » U++ SQL » size of S_XXX struct members
size of S_XXX struct members [message #41560] |
Mon, 30 December 2013 15:53  |
 |
Alboni
Messages: 216 Registered: January 2012 Location: Kajaani, Finland
|
Experienced Member |
|
|
I problem im running into a lot is users entering strings that are longer than defined in the sql tables.
for example if I have a .sch file like
TABLE_ (PAYMENT_METHOD)
INT_ (PM_ID) PRIMARY_KEY UNIQUE AUTO_INCREMENT
STRING_ (PM_DESCRIPTION, 30)
END_TABLE
and a user enters a description of 35 characters, then the sql insert fails with an errormessage that the value for PM_DESCRIPTION is too long.
I know I can use EditString::MaxLen(30) to limit the input, but that means entering the length of the field in 2 places.
So, can I do something like:
dialog.pm_description.MaxLen(sizeof(S_PAYMENT_METHOD::PM_DESCRIPTION));
dialog.pm_description being the EditString for editing the field
for editing PM_DESCRIPTION in the PAYMENT_METHOD table.
I know sizeof() won't work here, but what will?
[Updated on: Mon, 30 December 2013 15:56] Report message to a moderator
|
|
|
|
|
Re: size of S_XXX struct members [message #41649 is a reply to message #41560] |
Tue, 07 January 2014 22:53   |
 |
Alboni
Messages: 216 Registered: January 2012 Location: Kajaani, Finland
|
Experienced Member |
|
|
Being able to do something like this would be grand also:
S_PAYMENT_METHOD rec;
int n=rec.GetCount();
for (int i=0; i<n; i++)
{
switch (rec[i].type)
{
case S_INT: DoSomethingWithAnInt(rec[i].Value, rec[i].MaxLength); break;
case S_STRING: DoSomethingWithAnString(rec[i].Value, rec[i].MaxLength); break;
................
}
}
[Updated on: Tue, 07 January 2014 23:13] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
Goto Forum:
Current Time: Fri Apr 25 12:22:36 CEST 2025
Total time taken to generate the page: 0.00525 seconds
|
|
|