How to select a case sensitive value in SQL with C#
Hello,
I have an application that at the begining a user will login with a user name and password which is stored in the database. The SQL statement is as follows:
"SELECT id_employee FROM employee WHERE employee_number='" + txtUserName.Text + "' AND passWord='" + txtPassword.Text + "'";
For testing purposes I have set the password to the word test. The problem is, if the user enters in TEST or TeSt or TESt it will grant them access. How do I set it to force the correct case?
I am using SQL 2005 for the database.
Thanks!
~zero
You can also set Collation while comparing strings:
"SELECT id_employee FROM employee WHERE employee_number='" + txtUserName.Text + "' COLLATE Latin1_General_CS_AS AND passWord='" + txtPassword.Text + "' COLLATE Latin1_General_CS_AS";
All comments about not doing this type of quering using command string, instead of command with parameters, they are apsolutely right.
Nevertheless i will have only username as a parameter in the command and password will be return value from procedure. I will check for equality of entered password and returned one from command in C# code, and C# is case sensitive. There is a good security model implemented for password in AdventureWorks sample database for SQL Server 2005, in table Person.Contact.
That model use two fields for password, PasswordHash and PasswordSalt. PasswordSalt is randomly generated hash when password is modified and with that salt, password string is encrypted, which produce PasswordHash. So when you want to authenticate a user, execute a command that will return a row(PasswordHash and PasswordSalt) for entered username, and in application you will encrypt entered username with PasswordSalt. If generated string is equal with the one returned PasswordHash, then you have a valid login. If nothing is returned from command or they are not equal, you have invalid login.
Similar Messages
-
How to create nested CASE statements in PL/SQL
Can anyone please tell how to create Nested CASE statements in PL/SQL with proper syntax?
It would be better if you can help with an example.
Thank you!Something like this:
SQL> set serveroutput on
SQL> declare
2 v1 number := 2;
3 v2 varchar2(1) := 'C';
4 begin
5 case v1
6 when 1 then dbms_output.put_line('First');
7 when 2 then begin
8 case v2
9 when 'A' then dbms_output.put_line('Found A');
10 when 'B' then dbms_output.put_line('Found B');
11 when 'C' then dbms_output.put_line('Found C');
12 else dbms_output.put_line('NONE');
13 end case;
14 end;
15 else dbms_output.put_line('Else');
16 end case;
17 end;
18 /
Found C
PL/SQL procedure successfully completed
SQL> If you have further doubts regarding syntax you can read the docs on the Case statement here:
http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/case_statement.htm -
On 7D Mark II with firmware 1.0.4, I have used Custom Controls to assign ISO change to the lever. However, it is not possible to change ISO to "ISO A" (auto). How to select "ISO A" (auto) using Custom Controls with lever assigned to ISO change?
Follow Up:
Ok so ive changed things up a bit and have had some more success.
I have used a Switch statement in my For loop to perform different actions based on the item selected.
The code looks like this:
Workbook.Content.Table1.Row3.AppropriationDetails.Row4.Cell1::change - (JavaScript, client)
var fFrom = xfa.resolveNodes("Workbook.Content.Table1.Row3.AppropriationDetails[*] .Row4.Cell1");
var fTo = xfa.resolveNodes("Workbook.Content.Table2.Row3.AppropriationDetails[* ].Row4.Cell1");
for (var i=0; i <= fFrom.length-1; i++) {
switch (fFrom.item(i).rawValue)
case "Option 3":
fTo.item(i).rawValue = "Enter the details in the field below";
break;
default:
fTo.item(i).rawValue = fFrom.item(i).boundItem(xfa.event.newText);
break;
This code solves my problem but has thrown up a new issue:
When i select Option 1 or 2 from the dropdown list the change in the text field is instantaneous, however if I select Option 3 it wont appear in the text field until I either select Option 3 a second time or select another item. Its as if the text field is a selction behind what I have enterd in the dropdown list.
Any thoughts? -
Case-sensitive values in an Tabular Model with a Oracle Datasource
Hi,Lets use an Oracle Database as Datasource for my Project. I use a "Select distinct ColumnA from Table" to build up a LookupTable in my Tabular Model. But it returns Dublicates!! eg:
When I fire the query from Oracle SQL Developer I got 2 Records "1N" and "1n". In the Grid View in SSDT I see 2 times "1N". ??
Collation Case Sensitive. OK, but how to solve that?
KRHi KR,
According to your description, you encounter the case-sensitive issue when creating SQL Server Analysis Services Tabular model project, right?
Based on my research, Tabular models have the insensitivity problem by default. The workaround for this issue is creating a empty tabular model in tabular server using the xmla below and import the tabular in SSDT.
<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<ObjectDefinition>
<Database xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300">
<ID>Collation test</ID>
<Name>Collation test</Name>
<Language>1033</Language>
<Collation>Latin1_General_CS_AS</Collation>
<DataSourceImpersonationInfo>
<ImpersonationMode>Default</ImpersonationMode>
</DataSourceImpersonationInfo>
<ddl200_200:StorageEngineUsed>InMemory</ddl200_200:StorageEngineUsed>
<ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>
</Database>
</ObjectDefinition>
</Create>
For the detail information about it, please refer to the link below.
http://blogs.msdn.com/b/cathyk/archive/2011/10/24/making-tabular-models-more-sensitive.aspx
Regards,
Charlie Liao
If you have any feedback on our support, please click
here.
Charlie Liao
TechNet Community Support -
A field value is coming in caps.
lf_tmp = u2018RMu2019.
I have to check this with another field lf_werks ,which always comes in small letters.
if lf_tmp CN lf_werks .
MESSAGE e002(zm) WITH 'The Path is wrong for the plant'
p_werks.
ENDIF.
This check always fails even if the values are like belowu2026
lf_tmp = u2018RMu2019.
lf_werks = u2018rmu2019.
How do I by-pass this case sensitiveness u2026.when I want to do the check.
thanks in advanceActually, I'd do it the other way:
TRANSLATE lf_werks to UPPER CASE.
Since lf_werks can be a combination of upper and lower case, translating lf_tmp to lower case may not always work. This way you are always comparing upper case to upper case.
Rob -
How to Select More then 1000 values in Multi-Select prompt!!!
Hello Users,
I have Scenario where i have to pass all the values from prompt to report and the values in the prompt are coming from session variable, so whatever value access user has the report will run with that only...
Now the question is that Multi-Select Prompt is not able to take more then certain values, so is there any way that we can increase the limit for selected values??
in-short how to increase the limit for selected values in multi-select prompt??
Thanks In Advance!!!Hey David,
The Scenario is like, we have data level security on "Unit" attribute. now based on the user selection when user logs in he should able to see the report only for those units which he/she has access.
in total we have 1800 units available, now for 5-10 units access is fine, but the question will arise when user will not have only some units access from 1800 units.
because report will not take those values from the multi-select prompt reason is that multi-select prompt is not able to take more then certain values in selected side.
now in multi-select until-unless u have data coming in selected side those values will not pass. so i have kept the sql in default for that prompt.
so when user logs in he will able to see those values in selected side for the multi-select prompt, but when values increase from some level it's going automatically in un-selected side.
i want everything on selected side of multi-select prompt.
Let me know if you need any further details. -
BI BEx & WAD F4 Search: How to search non-case sensitive
Dear Colleagues,
is there meanwhile a better and comfortable solution for this problem, or have'nt changed anything since "How to... Search non-case sensitive" paper from 2003.
Thanks and regards,
Wolfgang
Edited by: Wolfgang Taag on Aug 4, 2008 1:40 PMHi Gerhard,
I quote from OSS note 914303 :
The BI search requires the TREX Server as of 7.0 Support Package 06 or higher. If the search engine is not fully installed, you can still use the standard search that the system carries out in the database. However, as a result, the search takes longer, <u>it is case-sensitive</u> and it does not support the search for attributes.
Hope this helps,
Best regards,
Olav -
How can change Case Sensitivity in MS SQL 2008
hi expert,
I want to change Case Sensitivity to Case Insensitivity in MS SQL 2008.
how can I do??
any help please
thanks and regards
junHello,
there is no way to change this. The SQL Server itself and the SAP Database are installed in an case sensitive collation. If you were albe to change this, your installation will be no longer supported and will, in the worst case, generate incorrect data within the SAP database.
So, start live with it, there is no way to change it.
Best regards
Clas -
How to select test cases efficiently for a test package?
Dear experts,
I would like to ask you if you have found a way administer how to assign test cases to test packages and test packages to testers. For regression tests this assignment remains relatively stable (often the key users).
Do you know a way to administer this within the solution manager - or do you recommend the old excel table.Hello Ragu!
Thank you for your answer! My question was regarding the organisational side, I didn't get this clear.
I know how to generate a test package and how to assign a tester to a test package but where do I get the information which test packages I need and which tester to assign to which package.
Maybe a good option is to assign the tester as a team member on the process step level. Thus the assignments can be listed with SOLAR_EVAL using "Assignments / Test Cases" with option "Display Team Members". This list would help to generate the test packages. The selection of the test cases for the test package has do be done manually because there seems to be no filter for team members.
Regards,
Martin -
How to Select each check box values in a group of records
Hi,
I have a requirement in forms 10g. In that form there are 10 records are displaying each record has one check box is there if i click the check box on record number one and record number three and do some changes in the text field(adjustment field is number data type) then finally I want to see the total on one field called total amount.
In this my question is how to select particular records in a group of records? and finally these selected records are inserted into one table.
Because I am not able to fetch these records at a time.
Is there any Array to define a record group to fetch each of them individually for example Rec[1],Rec[2]...like that if yes please suggest me the steps how to do this.
Thanks in advance
Prasanna
Edited by: user10315107 on Dec 17, 2008 11:44 PMI'm sorry, but i didn't get your requirement in detail.
Do you want to do the summing of the selected records in forms ? Or do you just want to know which records are selected and then process them?
If you want to process the selected records in sql you could use an object-type to store the list of id's (of whatever primary key you use), loop over the block to fill it, and then afterwards process them.
For this approach, first create an object-type in the database:
CREATE OR REPLACE TYPE ID_LIST AS TABLE OF NUMBER;
/Then, in forms you could do something like this to fill a list of id's:
DECLARE
lIds ID_LIST:=ID_LIST();
BEGIN
GO_BLOCK('MYBLOCK');
FIRST_RECORD;
LOOP
EXIT WHEN :SYSTEM.RECORD_STATUS='NEW';
IF :BLOCK.CHECKBOXITEM="CHECKEDVALUE" THEN
lIds.EXTEND(1);
lIds(lIds.COUNT):=:BLOCK.PRIMARYKEYITEM;
END IF;
EXIT WHEN :SYSTEM.LAST_RECORD='TRUE';
NEXT_RECORD;
END LOOP;
-- Now you can use the object-list in SQL like :
INSERT INTO MYNEWTABLE (cols..)
SELECT (cols..)
FROM MYOLDTABLE
WHERE ID IN (SELECT COLUMN_VALUE FROM TABLE(lIds));
END;Edited by: Andreas Weiden on 18.12.2008 18:17 -
How to make PowerPivot case sensitive?
Hi all,
I just discovered that PowerPivot is case-insensitive, which is quite a big problem for me. The only discussion of this I found so far is here: http://dennyglee.com/2010/06/18/powerpivot-you-are-so-insensitive-case-that-is/ .
That didn't fully answer my question though, is it possible to change this behaviour and make it case sensitive?
The reason it's a problem for me is that I have a column (from external data source) used as an ID in a relationship, which contains a string of random characters. If it so happens that two entries have an ID which only differs by a case of a letter, everything
blows up. More precisely, I can no longer import the data into the table where the column is used as a PK, because it is not unique.
Thanks for any comments,
JurgisYou can post bugs on Connect.
Thanks!
Ed Price, SQL Server Customer Program Manager (Blog,
Small Basic,
Wiki Ninjas,
Wiki)
Answer an interesting question?
Create a wiki article about it! -
Case sensitive issue CF7 & SQL 2005
I had to rebuild a database from a backup recently. Now I am having a case sensitive issue in my queries that I did not have before.
The following use to work with Rockmart in lowercase even though Rockmart was in the table as all uppercase like so ROCKMART.
<cfquery name="updateAreas" datasource="mySource">
UPDATE Property
SET AR = 3610
WHERE City = 'Rockmart'
</cfquery>
The above has stopped working now the query must specify ROCKMART because it is in the table in all upper case.
My database option is set to SQL_Latin1_General_CP1_CI_AS
Any ideas.
Many thanks for you help.
BrianA collation can be specified at the server, database, and column level in SQL server. The column collation will take precedence over the database collation. Check that the collation for the column is case-insensitive. You can use the query below to get the column's collation.
SELECT COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Property'
AND COLUMN_NAME = 'City'
You can get info on the collations supported by SQL Server at:
http://msdn.microsoft.com/en-us/library/ms144250%28SQL.90%29.aspx
You can change a column's collation if you need to, but you should be sure that this will not affect any other applications which query the same data. Another option is to specify the desired collation in your query as suggested by glynjackson.
http://msdn.microsoft.com/en-us/library/ms190920%28SQL.90%29.aspx -
How to select all the colomns_names from a table, with their datatypes ..
hi :)
i would like to know, how to select in SQL all the columns names from a table with their datatypes so that i get something like this :
Table 1 : table_name
the column ID has the Datatype NUMBER
the column name has the Datatype Varchar2
Table 2 : table_name
the column check has the Datatype NUMBER
the column air has the Datatype Varchar2
and that has to be for all the tables that i own ! ..
P. S : i m trying to do this with java, so it s would be enough if you just tell me how to select all the tables_names with all their colums_names and with all their datatypes ! ..
thank you :)
i ve heard it can be done with USER_TABLES .. but i have no idea how :( ..
Edited by: user8865125 on 17.05.2011 12:22Hi,
The data dictionary view USER_TAB_COLUMNS has one row for every column in every table in your schema. The columns TABLE_NAME, COLUMN_NAME and DATA_TYPE have all the information you need.
Another data dictionary view, USER_TABLES, may be useful, too. It has one row pre table. -
Default form value using sql with bind variable
I wish to create a form based upon a table with a foreign key. I wish to add a field to the form that is an uneditable text field with a default value using sql of 'select name from other_table where other_table_id = ?' where ? is a bind variable defined by a hidden field which is the value of the foreign key identified at runtime. How can this be done?
nullI don't think that will work. I have multiple people accessing the Portal at the same time with the same login (or lack of as public will be the most common user). I could set it easily enough as the value is passed to the form by a link object, so I could add it to the before page plsql block and set the value. But I am uncertain how it will behave in a multi-user mutlitasking environment.
Maybe I should describe what I am looking to accomplish. I want to create a display above a form that will list static details from other tables (i.e. when editing a user's phone number, which is in one table, you want the user to see the person's name, which is in another table, and the form is based upon the phone table) ...
Just as I am thinking about it, I thought of an idea. I could put some specific code in the before displaying page plsql section to query the database and use htp to output the information for data not in the table the form is based upon. I will try this and see how it works. It would have been nice to have just created a field that is not editable and had a default value, but this should work as well.
Let me know if you see any problem with this or if you have any better suggestions.
Thanks for the fast response. -
How to invoke a Web Service from PL/SQL with Complex Type as input.
Hello,
I am trying to invoke a web service from PL/SQL using the UTL_DBWS package.
The web service expects a complex type as input (defined below):
<xs:complexType name="MsgType">
<xs:sequence>
<xs:element name="sender" type="xs:string"/>
<xs:element name="messageId" type="xs:string"/>
<xs:element name="messageType" type="xs:string"/>
<xs:element name="dateSent" type="xs:date"/>
</xs:sequence>
</xs:complexType>
How to construct input to this in PL/SQL Procedure?
Has any body tried this before?
An exmaple will be helpful.
ThanksDear,
I have read your article, it is useful for me. But I cannot Apply to my case. Please kindly help me. Thank you.
When running, the error occurs:
1:39:31 Execution failed: ORA-20000: soapenv:Server.userException - org.xml.sax.SAXParseException: Attribute name "password" associated with an element type "user" must be followed by the ' = ' character.
My webservice Url: http://abc.com.vn:81/axis/ABC_WS_TEST.jws?wsdl
I make PL/SQL (similiar as your example)
FUNCTION INVOKESENDMT
RETURN VARCHAR2
AS
l_request soap_api.t_request;
l_response soap_api.t_response;
l_return VARCHAR2(32767);
l_url VARCHAR2(32767);
l_namespace VARCHAR2(32767);
l_method VARCHAR2(32767);
l_soap_action VARCHAR2(32767);
l_result_name VARCHAR2(32767);
p_zipcode VARCHAR2(160);
BEGIN
--p_zipcode:='''TEST'' ; ''TEST'';''84912187098'';''84912187098'';''0'';''8118'';''1'';''000001'';''ThuNghiem'';''''';
p_zipcode:='TEST';
-- Set proxy details if no direct net connection.
--UTL_HTTP.set_proxy('myproxy:4480', NULL);
--UTL_HTTP.set_persistent_conn_support(TRUE);
-- Set proxy authentication if necessary.
--soap_api.set_proxy_authentication(p_username => 'TEST',
-- p_password => 'TEST');
l_url := 'http://abc.com.vn:81/axis/ABC_WS_TEST.jws';
l_namespace := 'xmlns="' || l_url || '"';
l_method := 'sendMT';
l_soap_action := l_url || '#sendMT';
l_result_name := 'sendMTResponse';
l_request := soap_api.new_request(p_method => l_method,
p_namespace => l_namespace);
soap_api.add_parameter(p_request => l_request,
p_name => 'user password sender receiver chargedflag servicenumber messagetype messageid textcontent binarycontent',
p_type => 'xsd:string',
p_value => p_zipcode);
l_response := soap_api.invoke(p_request => l_request,
p_url => l_url,
p_action => l_soap_action);
l_return := soap_api.get_return_value(p_response => l_response,
p_name => l_result_name,
p_namespace => l_namespace);
RETURN l_return;
END;
Maybe you are looking for
-
How to erase everything in my iPhone 2G and get new software without updating my 3.1.2 software version? It gives me option of UPDATE AND RESTORE. I did that later it is locked and inactivated. Which software is workable and suitable for iPhone 2G ?
-
Applet IE status bar text?
Hi u know how in IE when u hover over alink it is displayed in the bottom left of the window. How can I do this in JAVA? Apart from making a jscript function which does this i have no idea. Thanks all
-
How do I get bing search engine off my mac
how do I get the search engine BING off my mac book Pro
-
hi all this is my first time to me to post a thread in this forum and i need a very very quick help. my problem is i have 2 drop down list in my form . first one for country and other one for Cities and it is empty in run time and get filled when the
-
We have file server, which is using windows 2003 R2 Enterprise Edition, Service Pack 2. Today suddently no one can access its file share. I try to login to the server and open services, but it is so slow to respond. I have to reboot the machine. Afte