insert doen"t work: version 2

B

Ben

Hi,

This is version 2 of my story (in a previous post):

the first time, the record is inserted into the table of excel, but then all
following records are not inserted (and no error message ..) What could that
mean? Where to look for?

This is the first version of the previuos post:

i developped an survey application in asp.net using excel as database (i
know that excel is not ideal for that, but this is the only option). The
person in our compagny who want to make a survey types his questions and
other specifications (type of question, mi/max values ..) in excel and sends
it to me.
I make then a table for gathering the answers.
When someone has answered all the question in the form, he pushes the button
"save" which causes a postback to the page with this javascript code:

.........
inscomm = "insert into data (login," + vragen + waarden
document.getElementById("sql").value=inscomm
document.getElementById("conn").value=conn
document.getElementById("ins").action="survey.aspx"
document.getElementById("ins").submit()
return true;

This is the content of "sql" :
-------------------------
insert into data
(login,vraag1,vraag2,vraag3,vraag4,vraag5,vraag6,vraag7,vraag8,vraag9,vraag10,vraag11,vraag12,vraago13,vraago14,vraag15,vraag16,vraag17,vraag18,vraag19,vraag20,vraag21,vraag22,vraag23,vraag24,vraag25,vraag26,vraago27,vraago28,vraag29,vraag30,vraag31,vraag32,vraag33,vraag34,vraag35,vraag36,vraag37,vraag38,vraag39,vraag40,vraago41,vraago42,vraag43,vraag44,vraag45,vraag46,vraag47,vraag48,vraag49,vraag50,vraag51,vraag52,vraag53,vraag54,vraago55,vraago56,vraag57,vraag58,vraag59,vraag60,vraag61,vraag62,vraag63,vraag64,vraag65,vraag66,vraag67,vraag68,vraago69,vraago70,vraag71,vraag72,vraag73,vraag74,vraag75,vraag76,vraag77,vraag78,vraag79,vraag80,vraag81,vraag82,vraago83,vraago84,vraag85,vraag86,vraag87,vraag88,vraag89,vraag90,vraag91,vraag92,vraag93,vraag94,vraag95,vraag96,vraago97,vraago98,vraag99,vraag100,vraag101,vraag102,vraag103,vraag104,vraag105,vraag106,vraag107,vraag108,vraag109,vraag110,vraago111,vraago112,vraag113,vraag114,vraag115,vraag116,vraag117,vraag118,vraag119,vraag120,vraag121,vraag122,vraag123,vraag124,vraago125,vraago126,vraag127,vraag128,vraag129,vraag130,vraag131,vraag132,vraag133,vraag134,vraag135,vraag136,vraag137,vraag138,vraago139,vraago140,vraag141,vraag142,vraag143,vraag144,vraag145,vraag146,vraag147,vraag148,vraag149,vraag150,vraag151,vraag152,vraago153,vraago154,vraag155,vraag156,vraag157,vraag158,vraag159,vraag160,vraag161,vraag162,vraag163,vraag164,vraag165,vraag166,vraago167,vraago168,vraag169,vraag170,vraag171,vraag172,vraag173,vraag174,vraag175,vraag176,vraag177,vraag178,vraag179,vraag180,vraago181,vraago182,vraag183,vraag184,vraag185,vraag186,vraag187,vraag188,vraag189,vraag190,vraag191,vraag192,vraag193,vraag194,vraago195,vraago196)
values ('1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','2','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ','
','1','1','1','1','1','1','1','1','1','1','1','1',' ',' ')

and "conn"::
-----------
Provider = Microsoft.Jet.OLEDB.4.0; Data Source =
c:\inetpub\wwwroot\enquete\excel\ros2rp0607.xls; Extended Properties=Excel
8.0;

Code-behind: If the Request.Form is not empty, the connection is made:
--------------
Imports System.Data.OleDb
Imports System.IO
Partial Class enquete
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load

Dim stconn, sqlcomm
sqlcomm = Request.Form("sql")
stconn = Request.Form("conn")
If sqlcomm <> "" Then
Dim oConnection As OleDbConnection
Dim sConnection As String
oConnection = New OleDbConnection()
Dim comd As OleDbCommand
sConnection = stconn
oConnection.ConnectionString = sConnection
oConnection.Open()
comd = New OleDbCommand(sqlcomm, oConnection)
comd.ExecuteNonQuery()
oConnection.Close()

Account ASPNET has write rights on excel.
My problem: no error, no message, nothing, only, the table in excel remains
empty.With other words, the insert doesn't occur.
Could someone give me some hints where to look for?
Other surveys with the same code but other excel sheet (other questions)
work. So the code cannot be wrong ...?

Thanks for help
Ben
 
P

Patrice

Have you checked wether you pass in this branch ? My first thought would be
that Request.Form("sql") is just empty (plus it looks like you are not using
the ASP.NET infrastructure ?). You could easily check this by using a
constant for sqlcomm rather than request.Form and see if the insertion
happens.

As a side note my understanding is that you put the SQL statement client
side which is likely not a good idea (attacks can't be made easy as the
attacker knows the SQL string that will be used and could easily change it
without even bothering with an SQL injection attack)...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top