SQLite bug in WHERE clause [duplicate] - c#

This question already has an answer here:
SQLite handling of NULL
(1 answer)
Closed 7 years ago.
Can anyone confirm that this is a bug?
CREATE TABLE meta
meta_id INTEGER PRIMARY KEY,
localAbsPathAndName TEXT,
purgeGUID TEXT
);
INSERT INTO meta (localAbsPathAndName) VALUES ('C:\some\path');
INSERT INTO meta (localAbsPathAndName) VALUES ('C:\some\path');
SELECT * FROM meta WHERE purgeGUID!='aa5de571c9da5e3995b63427f5d23aad'
incorrectly returns no rows.

purgeGUID is null so Sqlite works correctly because
null != 'aa5de571c9da5e3995b63427f5d23aad' is null
Condition "where null' is never fulfilled

There are 3 columns in your 'meta' table but you provide only one value in insert query.Provide the 3 values and try again it works

Related

Select one row from a table by specifying the row number (Databse) [duplicate]

This question already has answers here:
Row numbers in query result using Microsoft Access
(7 answers)
Closed 4 years ago.
I am currently working on a C# .Net program. This program is connected to an MS Access database.
I am trying to select just one row from a table by specifying the row number, but I can not find any solution for that.
I hope you can help me with my problem :)
You should use primary key or unique column to get 1 row correct data. Other way is very manually and painfull in my opinion. Example
SELECT * FROM Customer WHERE CustomerID=1;
CostumerID is primary key and it bring 1 row to result. If do you realy want to make it manualy i advise add a datagridview in your project and make its visible to false. Fill your all data into it and get what do you want in it. You can access each row easyly.

How to select last row inserted [duplicate]

This question already has answers here:
How to get last inserted id?
(16 answers)
Get the last inserted row ID (with SQL statement) [duplicate]
(3 answers)
Closed 5 years ago.
I inserted values into an SQL table that has an auto increment primary key and I want to get the Pk value that the last insert has it. How do I do that?
try this
#LastInsertedId=SCOPE_IDENTITY()
you should use this after insert query
insert into table(ColumnName)values("name")
#LastInsertedId=SCOPE_IDENTITY()
if you want to get the PK when you insert values you can use this code:
INSERT INTO table_name (column2,column3,column4)
OUTPUT Inserterd.column1
VALUES (value1,value2,value3)
in above code column1 is the PK that is auto increment you want to get.
I think it would be easier if you first add a column in your named Updatedate (datetime), then you can just write the query like below :
Select top 1 *
From TableName
Order By Updatedate desc

Field sudden increase [duplicate]

This question already has answers here:
Identity increment is jumping in SQL Server database
(6 answers)
Closed 6 years ago.
I have a table in EntityFramework that has a field named by ID,
this field is primary key and is Identity.
when i add records into this table, this field value increases per recor, after adding several records, this value suddenly increases
For example, increased from 90 in 1010
While no transaction has been unsuccessful.
what is the problem?
If you are using Azure SQL this can just happen. We had it happen a few times. It is just the nature of how Azure sql works.
See this question Windows Azure SQL Database - Identity Auto increment column skips values it goes into a detailed explanation for a case very similar to yours

newid() as column default value [duplicate]

This question already has answers here:
Entity Framework - default values doesn't set in sql server table
(4 answers)
Closed 8 years ago.
I have a table with a uniqueidentifier column.
What is the Default Value or Binding i should set in order for each new row to generate a new uniqueidentifier?
Setting the default to newid() always returns 00000000-0000-0000-0000-000000000000
EDIT:
Apparently i got it all wrong, the insert was done from Entity Framework, and it doesn't handle this scenario.
Entity Framework - default values doesn't set in sql server table
newid() should work.
See images below:
You have another issue there.

How to prevent oracle from converting empty strings to null [duplicate]

This question already has answers here:
Why does Oracle 9i treat an empty string as NULL?
(10 answers)
Closed 9 years ago.
I have successfully converted an existing app's database from SqlServer to Oracle.
Everything works fine, but empty strings.
The app normally stores empty strings into the not null nvarchar2 fields which Oracle silently converts them to null and causes the following error:
ORA-01400: cannot insert NULL
Is there any workaround for this?
Note: I'm using Oracle Managed Driver ODP.NET + NHibernate Castle Active Record
you can use nvl(column_name,'')
Good Luck

Categories