|
Both of those methods look broadly similar but redundant. If you store dates as proper date types in the database then you can use the standard .NET classes to get them printed in clear text.
|
|
|
|
|
|
About 40 years ago, when I was still a student, we had this database system where you could define triggers in the database for doing all sorts of integrity checks etc. on the database, independently of the application. This was a realational database, but using an extended variant of Pascal to address the tables: What would be WHERE criteria in SQL was indexing expressions in the database tables, etc. You didn't adrress the database as an external entity, but rather declared you application as an entity in the database: The databse tables were defined in a layer conceptually "outside" the program entity, encompassing it. Tables were defined using the same syntax as Pascal arrays, but being "outside" the program, they had a lifetime scope beyond the execution of the program; they looked just like other arrays, but were persistent, and had extended indexing facilities and other table operations.
This compiler was based on the classical P4 Pascal compiler. So when you compiled a database routine, the P4 code was stored in the database, available to any program using this database as an outer shell. The routines were instruction set and OS independent; the database (with its embedded routines) could be accessed from any OS or machine architecture that offered a P4 interpreter.
I believe that this project started around 1975-76, so it was quite early for this kind of architecture.
|
|
|
|
|
I have a vague recollection of someone talking about something similar to what you describe. Round about the late 1970s IIRC.
|
|
|
|
|
arnold_w wrote: Inserting the raw source code as varchar and then compile it in runtime is too slow. Compile it on first execution (or save), save the resulting assembly in a database-blob. Could easily be timestamped, to see if the source has been altered.
Do consider that sometimes compilations fail due to errors in code.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
|
That's what I was going to suggest, but that kinda hides functionality, and if you're going to create those assemblies, why not just put them in your app?
We use them where I work, but they were implemented years ago, and I'm not even sure where the source code is.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
#realJSOP wrote: if you're going to create those assemblies, why not just put them in your app? Because there may be many apps. You may want some functions to carry out e.g. consistency checking (beyond what you can set up in the SQL schema) regardless of which application is used.
Think of such code as belonging to the schema, not to the data.
|
|
|
|
|
Question no 2
There are three seating categories at an athletic stadium. For a baseball game,Class A seats cost $15 each, Class B seats cost $12 each, and Class C seats cost $9 each. Create an application that allows the user to enter the number of tickets sold for each class. The application should be able to display the amount of income generated from each class of ticket sales and the total revenue generated. Write code for the Calculate Revenue, Clear and Exit button.Clear button should clear contents of all textboxes and lables.
|
|
|
|
|
No, we are still not going to do your homework.
|
|
|
|
|
We are still more than willing to help those that are stuck: but that doesn't mean that we are here to do it all for you! We can't do all the work, you are either getting paid for this, or it's part of your grades and it wouldn't be at all fair for us to do it all for you.
So we still need you to do the work, and we will help you when you get stuck. That doesn't mean we will give you a step by step solution you can hand in!
Start by explaining where you are at the moment, and what the next step in the process is. Then tell us what you have tried to get that next step working, and what happened when you did.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Dammit, when I completed this exercise in my head, it told me that I had a syntax error on line 32. Darn. I have to debug my head now.
|
|
|
|
|
Put a breakpoint on Line 30: A shot of tequila.
Carefully examine all variables: A tot of whisky per variable.
Single step your code: G&T.
Repeat until code is fixed or you are unable to concentrate.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Doh! I should have thought of that. Good call.
|
|
|
|
|
You show no attempt to solve the problem yourself, you have no question, your main effort is pasting the requirement, you just want us to do your HomeWork.
We do not do your HomeWork.
HomeWork is not set to test your skills at begging other people to do your work, it is set to make you think and to help your teacher to check your understanding of the courses you have taken and also the problems you have at applying them.
Any failure of you will help your teacher spot your weaknesses and set remedial actions.
Any failure of you will help you to learn what works and what don't, it is called 'trial and error' learning.
So, give it a try, reread your lessons and start working. If you are stuck on a specific problem, show your code and explain this exact problem, we might help.
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
Question: 1
Suppose using controls in Visual Studio you have developed the layout for a calculator in design mode as shown
below, and given names of button Add, Subtract, Multiply and divide as Plusbtn, Subbtn, Mulbtn and Divbtn
respectively. Names for TextBox labeled First Number, Second Number and Result are textBox1, textBox2 and
textBox3 respectively. If a number is entered in TextBox1 and TextBox2, clicking the buttons should produce result
of respective operation in TextBox3. Complete the code
|
|
|
|
|
No, we are NOT going to do your homework for you.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
We are more than willing to help those that are stuck: but that doesn't mean that we are here to do it all for you! We can't do all the work, you are either getting paid for this, or it's part of your grades and it wouldn't be at all fair for us to do it all for you.
So we need you to do the work, and we will help you when you get stuck. That doesn't mean we will give you a step by step solution you can hand in!
Start by explaining where you are at the moment, and what the next step in the process is. Then tell us what you have tried to get that next step working, and what happened when you did.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Okay, I've completed the code in my head. That was fun. Now what?
|
|
|
|
|
Write an article on it?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
If I was doing a course that asked me to create text boxes called textBox1, textBox2 etc, I would find a better course.
|
|
|
|
|
You show no attempt to solve the problem yourself, you have no question, your main effort is pasting the requirement, you just want us to do your HomeWork.
We do not do your HomeWork.
HomeWork is not set to test your skills at begging other people to do your work, it is set to make you think and to help your teacher to check your understanding of the courses you have taken and also the problems you have at applying them.
Any failure of you will help your teacher spot your weaknesses and set remedial actions.
Any failure of you will help you to learn what works and what don't, it is called 'trial and error' learning.
So, give it a try, reread your lessons and start working. If you are stuck on a specific problem, show your code and explain this exact problem, we might help.
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
I have been having trouble finding a good compiler for my iPad.
|
|
|
|
|
You won't find a compiler for C# on iPad - Apple are rather restrictive, and use ObjectiveC for apps.
You can use C# to write for Apple devices, but you will need Xamarin to do it - it's included in the last couple of versions of Visual Studio.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I need to parse numerical expressions, e.g. (UInt32)(512 * 1024) that we can assume comes from a WinForm TextBox during runtime. I tried using the following:
DataTable loDataTable = new DataTable();
DataColumn loDataColumn = new DataColumn("Eval", typeof(double), expression);
loDataTable.Columns.Add(loDataColumn);
loDataTable.Rows.Add(0);
return (UInt32)(double)(loDataTable.Rows[0]["Eval"]);
but this doesn't work because of the cast. So instead I tried the following, which is based on possible to execute code contained in a string ? - C# / C Sharp[^] :
public static bool parseDifficultExpression(string difficultExpression, out UInt32 parsedValue)
{
try
{
string[] usingList = new string[] { "System",
"System.Text",
"System.Diagnostics" };
string methodAsString = " returnValue = " + difficultExpression + ";";
string notUsed = "";
parsedValue = (UInt32)Utilities.executeMethodAsString(usingList, methodAsString, notUsed, typeof(UInt32));
return true;
}
catch (Exception)
{
parsedValue = 0xFFFFFFFF;
return false;
}
}
public static object executeMethodAsString(string[] usingList, string methodAsString, object args, Type returnType)
{
string[] importList = new string[] { "System.dll" };
string namespaceName = "myNameSpace";
string className = "myClass";
string methodName = "myMethod";
CodeMemberMethod pMethod = new CodeMemberMethod();
pMethod.Name = methodName;
pMethod.Attributes = MemberAttributes.Public;
pMethod.Parameters.Add(new CodeParameterDeclarationExpression(args.GetType(), "args"));
pMethod.ReturnType = new CodeTypeReference(typeof(UInt32));
string completeMethod =
returnType + " returnValue = new " + returnType + "();" + "\r\n" +
"try {" + "\r\n" +
methodAsString + "\r\n" +
"} catch {" + "\r\n" +
" returnValue = new " + returnType + "();" + "\r\n" +
"}" + "\r\n" +
"return returnValue;";
pMethod.Statements.Add(new CodeSnippetExpression(completeMethod));
CodeTypeDeclaration pClass = new CodeTypeDeclaration(className);
pClass.Attributes = MemberAttributes.Public;
pClass.Members.Add(pMethod);
CodeNamespace pNamespace = new CodeNamespace(namespaceName);
pNamespace.Types.Add(pClass);
for (int i = 0; i < usingList.Length; i++)
{
pNamespace.Imports.Add(new CodeNamespaceImport(usingList[i]));
}
CodeCompileUnit pUnit = new CodeCompileUnit();
pUnit.Namespaces.Add(pNamespace);
CompilerParameters pParams = new CompilerParameters(importList);
pParams.GenerateInMemory = true;
CompilerResults pResults = (new CSharpCodeProvider()).CreateCompiler().CompileAssemblyFromDom(pParams, pUnit);
if ((pResults.Errors != null) && (0 < pResults.Errors.Count))
{
foreach (CompilerError pError in pResults.Errors)
{
Debug.WriteLine(pError.ToString());
}
return null;
}
else
{
object typeInstance = pResults.CompiledAssembly.CreateInstance(namespaceName + "." + className);
MethodInfo methodInfo = typeInstance.GetType().GetMethod(methodName);
return methodInfo.Invoke(typeInstance, new object[] { args });
}
} This works fine, except that the line
CompilerResults pResults = (new CSharpCodeProvider()).CreateCompiler().CompileAssemblyFromDom(pParams, pUnit); is extremely slow (about 80 ms) to execute. Does anybody know a workaround to achieve what I want in fast execution time?
|
|
|
|
|